簡単な紹介
カールは、Webサーバーを要求するために使用される一般的に使用されるコマンドラインツールです。その名は、URLツールのクライアント(クライアント)の意味です。
これは、コマンドラインパラメータの数十として多くのように、非常に強力です。熟練した場合、ポストマンは、グラフィカルなインターフェイスのこのタイプを置き換えることができます。
この記事では、簡単にアクセスするための日々の基準として、その主なコマンドラインパラメータについて説明します。主から翻訳「カールクックブック」。スペースを節約するために、以下の例では、出力ランタイムが含まれていませんが、初心者には、私の以前の書き込みを見ることができ、「初心者のためのカールチュートリアル」。
場合は、パラメータなし、カールは、GETリクエストを発行することです。
$ curl https://www.example.com
するために上記のコマンドwww.example.com
GETリクエストを発行し、コンテンツサーバはコマンドライン出力で返されます。
-A
-A
パラメータは、すなわち、クライアント・ユーザー・エージェント・ヘッダーを指定しますUser-Agent
。デフォルトのユーザーエージェント文字列カールcurl/[version]
。
$ curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com
上記のコマンドはなりますUser-Agent
Chromeブラウザを変更します。
$ curl -A '' https://google.com
上記のコマンドが削除されUser-Agent
、ヘッダを。
あなたもすることができ-H
、直接ヘッダーを指定するパラメータを変更しますUser-Agent
。
$ curl -H 'User-Agent: php/1.0' https://google.com
-b
-b
クッキーのパラメータは、サーバに送信するために使用されます。
$ curl -b 'foo=bar' https://google.com
上記コマンドは、ヘッダを生成し、Cookie: foo=bar
サーバ名に送信し、foo
値bar
クッキーの。
$ curl -b 'foo1=bar' -b 'foo2=baz' https://google.com
上記コマンドは、2枚のクッキーを送信します。
$ curl -b cookies.txt https://www.google.com
上記のコマンドは、ローカルファイル読み込みcookies.txt
クッキー(サーバ設定を参照している、-c
パラメータ)を、サーバに送信します。
-c
-c
ファイルサーバへのクッキーのパラメータ設定。
$ curl -c cookies.txt https://www.google.com
上記のコマンドは、HTTPサーバ設定クッキー書かれたテキストファイルに応答しますcookies.txt
。
-d
-d
データPOSTリクエストボディを送信するために使用されるパラメータ。
$ curl -d'login=emma&password=123'-X POST https://google.com/login # 或者 $ curl -d 'login=emma' -d 'password=123' -X POST https://google.com/login
使用される-d
パラメータの後、HTTPリクエストヘッダが自動的に追加されますContent-Type : application/x-www-form-urlencoded
。自動的にPOSTリクエストメソッドを変換し、それを省略することができます-X POST
。
-d
ローカルパラメータデータを読み取ることができるテキストファイルがサーバーに送信されます。
$ curl -d '@data.txt' https://google.com/login
読み取るための上記のコマンドdata.txt
そのデータとしてサーバに送信されたファイルの内容を、。
--data-でurlencode
--data-urlencode
同等のパラメータ-d
データを自動的にURLエンコードを送信されることを除いて、データ送信のPOSTリクエストのボディ、。
$ curl --data-urlencode 'comment=hello world' https://google.com/login
上記のコードでは、送信されたデータは、hello world
URLエンコードが必要である、との間の空間を有しています。
-e
-e
パラメータがHTTPヘッダ設定Referer
要求の送信元を示すが。
curl -e 'https://google.com?q=example' https://www.example.com
上記コマンドReferer
ヘッダが設定されていますhttps://google.com?q=example
。
-H
直接追加することにより、ヘッダパラメータは、Referer
同じ効果を達成します。
curl -H 'Referer: https://google.com?q=example' https://www.example.com
-F
-F
サーバーへのバイナリファイルをアップロードするために使用されるパラメータ。
$ curl -F '[email protected]' https://google.com/profile
上記コマンドは、HTTPリクエストヘッダを追加しContent-Type: multipart/form-data
、ファイル、photo.png
などのfile
フィールドをアップロードします。
-F
パラメータは、MIMEタイプを指定することができます。
$ curl -F '[email protected];type=image/png' https://google.com/profile
上記のコマンドは、MIMEタイプを指定しimage/png
、それ以外の場合は、MIMEタイプが設定されているカールますapplication/octet-stream
。
-F
パラメータは、ファイル名を指定することができます。
$ curl -F '[email protected];filename=me.png' https://google.com/profile
上記のコマンドは、元のファイルの名前はphoto.png
、サーバーは指定されたファイルを受け取りますme.png
。
-G
-G
パラメータは、URLのクエリ文字列を構築するために使用されます。
$ curl -G -d 'q=kitties' -d 'count=20' https://google.com/search
上記のコマンドは、GETリクエストを発行します、URLが実際に要求されますhttps://google.com/search?q=kitties&count=20
。省略した場合--G
、それは、POSTリクエストを発行します。
URLエンコードされたデータを組み合わせることが必要がある場合--data--urlencode
のパラメーター。
$ curl -G --data-urlencode 'comment=hello world' https://www.example.com
-H
-H
パラメータは、HTTPリクエストヘッダに付加されます。
$ curl -H 'Accept-Language: en-US' https://google.com
上記のコマンドは、HTTPヘッダを追加しますAccept-Language: en-US
。
$ curl -H 'Accept-Language: en-US' -H 'Secret-Message: xyzzy' https://google.com
上記の2つのコマンドは、HTTPヘッダーを追加します。
$ curl -d '{"login": "emma", "pass": "123"}' -H 'Content-Type: application/json' https://google.com/login
上記コマンドは、HTTPリクエスト・ヘッダーが追加されContent-Type: application/json
、続いて-d
送信データパラメータJSON。
-私
-i
パラメータサーバ応答のHTTPヘッダをプリントアウト。
$ curl -i https://www.example.com
上記のコマンド・サーバー応答を受信した後、サーバ応答ヘッダーの最初の出力は、ブランク行、出力ソースウェブ。
-私
-I
送信されたHEADリクエストパラメータは、サーバは、プリントサーバにHTTPヘッダーを返します。
$ curl -I https://www.example.com
HEADリクエストに上記のコマンドサーバー応答の出力。
--head
パラメータに相当-I
。
$ curl --head https://www.example.com
-k
-k
SSLパラメータはスキップされた検出を指定します。
$ curl -k https://www.example.com
上記のコマンドは、サーバのSSL証明書が正しいかチェックしません。
-L
-L
パラメータは、HTTPサーバーが要求をリダイレクトに従います。カールデフォルトでは、リダイレクトに従っていません。
$ curl -L -d 'tweet=hi' https://api.twitter.com/tweet
--limit-率
--limit-rate
低速環境をシミュレートするためのHTTPリクエストとレスポンスの帯域幅を制限するために使用します。
$ curl --limit-rate 200k https://google.com
上記のコマンドは、毎秒200Kバイトの帯域幅を制限します。
-o
-o
パラメータは、と同等の応答にファイルサーバに保存されますwget
コマンド。
$ curl -o example.html https://www.example.com
上記のコマンドはなりますwww.example.com
として保存しますexample.html
。
-The
-O
サーバーは、ファイルに保存されたパラメータ、およびファイル名としてURLの最後の部分で応答します。
$ curl -O https://www.example.com/foo/bar.html
上記のコマンドは、指定されたファイルに対応するためにサーバーに保存されますbar.html
。
-s
-s
パラメータは、出力エラーや進捗情報ではないでしょう。
$ curl -s https://www.example.com
上記のコマンド・エラーが発生すると、エラーメッセージが表示されません。エラーが発生しない、それが正常に動作して結果を表示します。
あなたはカールが任意の出力を生成しない場合は、次のコマンドを使用することができます。
$ curl -s -o /dev/null https://google.com
-S
-S
パラメータは、出力のみのエラー・メッセージを指定し、通常は-s
一緒に使用します。
$ curl -s -o /dev/null https://google.com
エラーが発生しない限り、上記には、何も出力を指令しません。
-u
-u
サーバー認証のユーザー名とパスワードを設定するために使用されるパラメータ。
$ curl -u 'bob:12345' https://google.com/login
上記のコマンドは、ユーザ名の設定bob
、パスワードを12345
、次にHTTPヘッダにAuthorization: Basic Ym9iOjEyMzQ1
。
ユーザー名とパスワードを識別できるURLの内側にカール。
$ curl https://bob:12345@google.com/login
上記のコマンドは、例えば、HTTPヘッダの内側に変換したユーザ名とパスワードのどのURLを識別することができます。
$ curl -u 'bob' https://google.com/login
上記のコマンドは、カールがパスワードを入力するようユーザーに促すメッセージが表示されます、実行後に、ユーザー名を設定します。
-v
-v
デバッグのための通信処理の全体パラメータの出力。
$ curl -v https://www.example.com
--trace
パラメータはまた、デバッグに使用するだけでなく、生のバイナリデータを出力することができます。
$ curl --trace - https://www.example.com
-バツ
-x
パラメータは、プロキシHTTP要求を指定します。
$ curl -x socks5://james:cats@myproxy.com:8080 https://www.example.com
上記のコマンドで指定されたHTTPリクエストは、myproxy.com:8080
SOCKS5プロキシを発行しています。
あなたが代理店契約を指定しない場合、デフォルトはHTTPです。
$ curl -x james:cats@myproxy.com:8080 https://www.example.com
上記のコマンドは、エージェントは、HTTPプロトコルを使用して要求します。
-バツ
-X
HTTPリクエストのメソッドは、パラメータを指定します。
$ curl -X POST https://www.example.com
上記のコマンドhttps://www.example.com
要求がPOSTを発行しました。