24.カール¶
curl コマンドから http リクエストを作成する方法です。curl について詳しく知りたい場合は、 Curl ドキュメントをクリックしてください。
24.1 コマンドの入力方法¶
cURL コマンドからテスト計画を作成する
- cURL からインポートを作成するには、 [ツール] メニューを開き、[ cURL からインポート] をクリックします。
- curl コマンド ラインに入る方法は 2 つあります。まず、手動で入力できます。次に、curl コマンド ラインを含むファイルをインポートできます。このツールは、複数の curl コマンド ラインの同時入力をサポートします。
- 次に、[テスト計画の作成] ボタンをクリックすると、新しい HTTP サンプルがテスト計画に追加されます。
24.2 サポートされているカールオプション¶
- -H , --header <ヘッダー>
- Web ページを取得するときに使用する追加のヘッダー。
- -X , --request <コマンド>
- HTTP サーバーと通信するときに使用するカスタム要求メソッドを指定します。
- --圧縮
- curl がサポートするアルゴリズムの 1 つを使用して圧縮された応答を要求し、圧縮されていないドキュメントを返します。
- -A , --user-agent <エージェント文字列>
- HTTP サーバーに送信する User-Agent 文字列を指定します。
- -b , --cookie <名前=データ>
- データを Cookie として HTTP サーバーに渡します。
- -dと友達
-
POST リクエストによるデータの送信
指定されたデータを POST 要求で HTTP サーバーに送信します。このオプションが同じコマンド ラインで複数回使用された場合、指定されたデータ ピースは「 &」文字で区切られてマージされます。したがって、「-d name=daniel -d skill=lousy 」を使用すると、「 name=daniel&skill=lousy 」のような POST チャンクが生成されます。
- -d、--data <データ>、--data-ascii <データ>
- @を使用してファイルをアップロードする
- --data-raw <データ> gt;
- --data-raw <データ>
- これにより、余分な処理を一切行わずに、指定されたとおりにデータがポストされます。@ でデータを開始する場合、残りはファイル名にする必要があります。
- --data-raw <データ> ta>
- これは、URL エンコードを実行することを除いて、他の--dataオプションと同様にデータを送信します。
- --data-raw <データ>
- これは--dataと同様にデータを投稿しますが、 @文字の特別な解釈はありません。
- -Fと友達
-
これにより、curl は、ユーザーが送信ボタンを押した入力フォームをエミュレートできます。
- -F , --form <name=content>
- @を使用してファイルをアップロードする
- --form-string <name=content>
- -u , --user <ユーザー:パスワード>
- サーバー認証に使用するユーザーとパスワードを指定します。
- --basic、--digest
- HTTP 認証を使用するように curl に指示します。
- --cacertと友達
-
HTTPS でファイルを取得するときに、指定されたクライアント証明書ファイルを使用するように curl に指示します。
- --cacert <CA 証明書>
- --capath <CA 証明書ディレクトリ>
- --ciphers <暗号のリスト>
- --証明書ステータス
- --cert-type <タイプ>
- -G、--get
- 投稿データを URL に入れ、get を使用して投稿を置き換えます。
- -- キープアライブなし
- TCP 接続でのキープアライブ メッセージの使用を無効にします。
- -e , --referer <URL>
- リファラー ページの情報を HTTP サーバーに送信します。
- -L , --場所
- 要求されたページが別の場所に移動したことをサーバーが報告した場合、このオプションにより、curl は新しい場所で要求をやり直します。
- -i、--include
- 出力に HTTP ヘッダーを含めます。
- --接続タイムアウト <秒>
- サーバーへの接続にかかる最大時間 (秒単位)。
- --keepalive-time <秒>
- このオプションは、キープアライブ プローブを送信する前に接続がアイドル状態を維持する必要がある時間と、個々のキープアライブ プローブ間の時間を設定します。
- -m , --max-time <秒>
- 操作全体にかかる最大時間 (秒単位)。
- -x , --proxy <[プロトコル://][ユーザー:パスワード@]プロキシホスト[:ポート]>
- 指定された HTTP プロキシを使用します。ポート番号が指定されていない場合は、ポート1080であると見なされます。
- -U , --proxy-user <ユーザー:パスワード>
- プロキシ認証に使用するユーザーとパスワードを指定します。
- -k、 --安全でない
- このオプションは、curl が安全でないSSL 接続と転送を実行することを明示的に許可します。
- - 生
- 使用すると、コンテンツのすべての内部 HTTP デコードまたは転送エンコーディングが無効になり、代わりに変更されずにそのまま渡されます。
- -I , --head
- HTTP ヘッダーのみをフェッチします。HTTP サーバーは、ドキュメントのヘッダーだけを取得するために使用するメソッドHEADを備えています。
- --interface <名前>
- 指定されたインターフェースを使用して操作を実行します。インターフェイス名、IP アドレス、またはホスト名を入力できます。
- --proxy-ntlm / --proxy-negotiate
- 指定されたプロキシと通信するときに HTTP BASIC/NTLM/Digest 認証を使用するように curl に指示します。
- --dns-servers <アドレス>
- ホスト名を DOH で解決します。
- --resolve <ホスト:ポート:アドレス>
- 特定のホストとポートのペアにカスタム アドレスを提供します。
- --limit-rate <速度>
- curl で使用する最大転送速度を指定します。
- --max-redirs <数値>
- たどることができるリダイレクトの最大数を設定します。
- --noproxy <プロキシリストなし>
- プロキシが指定されている場合、プロキシを使用しないホストのカンマ区切りのリスト。
24.3 警告¶
入力したコマンドが無視されたり、警告内容が含まれていたりした場合、HTTP Requestのコメント欄に警告を表示します。
24.4 例¶
クッキーを使用する
curl -X POST "https://example.invalid" -b 'username=Tom;password=123456'
データを使用する
curl -X POST "https://example.invalid" --data 'fname=a&lname=b'
利用フォーム
curl -X POST "https://example.invalid" -F 'lname=a' -F 'fname=b' -F 'c=@C:\Test\test.txt'
プロキシを使う
curl 'https://example.invalid/' -x 'https://aa:bb@proxy.invalid:8042'
使用許可
curl "https://example.invalid" -u 'user:passwd' --basic
DNS を使用する
curl "https://example.invalid" --dns-servers '0.0.0.0,1.1.1.1'