転送:https://www.cnblogs.com/X-knight/p/10589961.html
要約:
cURLの(CommandLineをユニフォームリソースロケータ)は、1997年に初めて発表され、コマンドラインの使用、で動作するファイル転送ツールのURL構文です。それは、包括的な転送ツールで、ファイルのアップロードやダウンロードをサポートしています。
ただの一部に名前を付けるために、多くのパラメータをコマンドカール。 -v / - vパラメーター冗長小文字、より多くの情報を印刷するスクリプトのデバッグに特に有用である情報を、送信するための要求を含むため。 -m / - MAX-時間<秒 > 最大長指定されたプロセス -H / -ヘッダ<ヘッダ> 指定要求ヘッダパラメータ -s / - そのような進歩としてslient情報出力低下、 --connectタイムアウト<秒> 指定された最大長を接続しようとすると / -x -プロキシ<proxyhost [:ポート]> [ プロキシサーバーのアドレスとポート、デフォルトのポート1080を指定 -T / -アップロードファイル<ファイル>を指定し、アップロードファイルのパス -o / -出力<ファイル> 出力ファイル名は 、データ- / - / -dデータ-アスキー<データ>は、 POSTコンテンツを指定 --retry <num>は、再試行回数を指定し リファラ<URL> - -e / 指定参照アドレスを - I / - HEADリクエストを使用して、ヘッダ情報のみを返すヘッド
1、カールインストール
1
|
sudo apt-get install curl
|
2、GETリクエスト
1
2
3
4
|
curl http://www.baidu.com,回车之后,HTML内容打印在屏幕上;如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地。
curl -i "http://www.baidu.com" 显示全部信息
curl -l "http://www.baidu.com" 只显示头部信息
curl -v "http://www.baidu.com" 显示get请求全过程解析
|
wgetの"http://www.baidu.com"缶
3、ダウンロード
1
|
curl –o linjiqin http://www.cnblogs.com/X-knight/,执行后可以看到下载进度提示,完成100%后会自动退出了,把网页保存到X-knight中。
|
資本Oオプションはローカルにサーバ上のファイル名に基づいて保存されますが、実行する場合にも、しているカール-O http://www.cnblogs.comを交換した場合、ファイル名を見つけることができません示唆、与えられています-O https://www.cnblogs.com/X-knight/p/10589004.htmlカールは、自動的にそのファイルを保存10589004の .htmlを。
4、アップロード
1
|
-T/--upload-file:往服务器上传文件
|
使用法:
1
2
3
4
5
|
上传多个文件
curl -T "img[1-1000].png" ftp://example.com/upload/
上传多个文件
curl -T "{file1,file2}" http://www.example.com
|
5、POSTメソッド
-dまたは--dataパラメーター:のPOSTリクエストの使用:
1
|
curl -d "id=1&name=test" http://example.com/example.php ,需把请求的参数和URL分开,
|
同時に、あなたは使用することができます。
1
|
curl -d "id=1" -d "name=test" http://example.com/example.php ,相当于提交了两个参数。当提交的参数值中有特殊字符就需要先转义。如空格时,就需要转义成%20。
|
--data-でurlencodeパラメータ:マニュアルなしで、自動的に特殊文字をエスケープするには、前に脱出しました。
1
|
curl --data-urlencode "name=April 1" http://example.com/example.php
|
-Fまたは--form:サーバーにローカルファイルをアップロードし、使用方法は次のとおりです。
1
|
curl -F "filename=@/home/test/test.pic" http://example.com/example.php 。千万不能漏掉@符号。
|
6、リファラを設定し
、我々はURLが成功することはできません要求指示した場合、時には、それは正しくリファラ、それは-eパラメータまたは--refererによってシミュレートすることができるかどうかを判断する必要があります
1
|
curl --referer http://www.example.com http://www.example.com
|
7、指定されたエージェントのユーザー
-A / -のUser-Agent:指定されたChromeブラウザへのアクセスを装った、用法:
1
|
curl -A "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" www.baidu.com
|
8、クッキーの偽造
-bまたは--cookieを:
2つの方法があります。
まず、パラメータと値を指定します。
1
|
curl --cookie "name=xxx" http://www.example.com
|
第二に、ファイルから読み込みます:
1
|
curl -b /cookie.txt http://www.example.com
|
図9に示すように、格納されたクッキー
-C / - JAR-クッキー:操作保存カールコマンドファイルが実行されたときに生成されたクッキー。
1
|
curl -c ./cookie.txt -d username=aaaa -d pwd=****** http://www.example.com
|
10、出力表示内容定義する
ような共通コード・HTTP、TCP接続時間、時間ドメイン分析、初めてとして出力内容を定義することができる、ハンドシェーク時間および応答時間は、非常に強い:書き込みアウト- -w /を。
1、HTTP戻りコードを印刷
1
|
curl -o /dev/null -s -w %{http_code} "http://www.baidu.com"
|
図2に示すように、印刷の応答時間
1
|
curl -o /dev/null -s -w "time_total: %{time_total}\n" "http://www.baidu.com"
|