curl
/etc/hosts 的な設定
--resolve <host:port:address>
コマンド
telnet で 25 接続
code:shell
$ curl -v telnet://10.0.12.10:25
basic 認証
code:shell
ダイジェスト認証の場合には、--digest となる
ホストヘッダーをつける
code:shell
$ curl -H 'HOST: wiki.renoretriever.net' 158.199.143.102
対応しているSSL暗号化スイートを確認する
RC4-MD5 は対応
code:shell
HTTP/1.1 200 OK
Date: Tue, 08 May 2018 02:29:54 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16
X-Powered-By: PHP/5.4.16
Set-Cookie: HttpOnly;Secure
Content-Type: text/html; charset=UTF-8
EXP-RC4-MD5 は未対応
code:shell
curl: (59) failed setting cipher list: EXP-RC4-MD5
ファイル test.txt を multipart/form-data としてファイルアップロード
code:shell
-d オプションとは併用不可
404 などのエラーが発生した時に $? の値を取得したい
オプション無し
code:shell
$ curl 10.0.12.20/yrdy/
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /yrdy/ was not found on this server.</p>
</body></html>
$ echo $status
0
オプションあり(-f)
code:shell
$ curl -f 10.0.12.20/yrdy/
curl: (22) The requested URL returned error: 404 Not Found
$ echo $status
22
証明証確認
code:shell
TLS ネゴシエーション時に指定のバージョンでつなぐように強制(TLSv1.0 〜 1.3)
code:shell
サーバ側で SSL version3 を不許可にしているときの動作
code:shell
curl: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
チャンクサイズ指定
code:shell
proxy 経由してのアクセス
code:shell
$ docker run -d -p 3128:3128 --name squid poklet/squid
接続
code:shell
http2 で送信
code:shell
セッション情報のセット
code:shell
cookie を送信し、セッション情報を引き継ぐ
code:shell
外部通信における接続元 IP アドレスを知る方法
code:shell
$ curl httpbin.org/ip
code:shell
-w オプション
yahoo トップページのサイズ確認
code:shell
19494
time_starttransfer