まず、ページのソースコードを表示
直接URLでcurlコマンドの後には、ページのソースを見ることができます。弊社のウェブサイトのwww.sina.com 例えば(主な理由は、その短いページコードのウェブサイトを、選択します):
$カールwww.sina.com
恒久的に移動
ドキュメントは移動しました ここに。
あなたがこのページを生き残るためにしたい場合は、使用することができます
$カール-o [ファイル名] www.sina.com
第二に、自動的にジャンプ
いくつかのURLは自動的にジャンプしています。使用-L
パラメータは、カールは、新しいURLにジャンプします。
$カール-L www.sina.com
上記のコマンドを入力して、結果が自動的にジャンプwww.sina.com.cn 。
第三に、表示ヘッダー情報
-i
パラメータは、Webページのコードとともに、ヘッダのHTTP応答を表示することができます。
$カール-i www.sina.com
HTTP / 1.0 301恒久的に移動 日付:土、2011年9月3日夜11時44分10秒GMTの サーバー:Apacheの/ 2.0.54(Unixの) 場所:http://www.sina.com.cn/ のCache-Control:最大エージング= 3600は、 有効期限:日、2011年9月4日午前0時44分10秒は、GMTは 異なります受け入れエンコード のContent-Length:231 のContent-Type:text / htmlのを。文字セット= ISO-8859-1 年齢:3239 X-キャッシュ:sh201-9.sina.com.cnからHIT 接続:近いです
恒久的に移動
ドキュメントは移動しました ここに。
-I
パラメータは、ヘッダ情報のHTTP応答が表示されます。
第四に、表示通信プロセス
-v
パラメータは、ポートとHTTPリクエストヘッダ情報を含む、プロセス全体のHTTP通信に表示することができます。
$カール-v www.sina.com
()に接続することについてwww.sina.com ポート80(#0)
61.172.201.195をしようと...接続
接続されwww.sina.com (61.172.201.195)ポート80(#0)
GET / HTTP / 1.1
User-Agent:カール/ 7.21.3(i686の-pc-linux-gnuのよう)のlibcurl / 7.21.3のOpenSSL / 0.9.8oのzlib / 1.2.3.4 libidn / 1.18
ホスト:www.sina.com
受け入れ:/
HTTP 1.0、身体の後近いと仮定永続的に移動<HTTP / 1.0 301 日、2011年9月4日0時42分39秒GMT:<日付 <サーバ:Apacheの/ 2.0.54(Unixの) <所在地:http://www.sina。 com.cn/ <のCache-Control:最大エージング= 3600 <有効期限:日、9月4日を2011年1時42分39秒GMT <ヴァリ:受け入れ-エンコーディングを <コンテンツの長さ:231 <コンテンツタイプ:text / htmlの。charset = ISO-8859-1 <X-キャッシュ:MISS sh201-19.sina.com.cnから <接続:閉じます <
恒久的に移動
ドキュメントは移動しました ここに。
*閉会コネクション#0
あなたは上記の情報は十分ではないと思う場合は、次のコマンドでは、より詳細な通信処理を表示します。
$カール--trace output.txtとwww.sina.com
若しくは
$カール--trace-ASCII output.txtとwww.sina.com
実行した後、オープンoutput.txtとファイルの閲覧。
第五に、フォーム情報を送信します
フォームのオファーがGETとPOSTメソッド送信します。GETメソッドは限りデータはURL行に追加されると、比較的簡単です。
$カールexample.com/form.cgi?data=xxx
POSTメソッドは、データとURLを区切る--dataパラメーターを使用する必要がカールしなければなりません。
$ -X POST --dataカール "データ= xxxの" example.com/form.cgi
場合は、あなたのデータは、フォームエンコードされていないが、またあなたは、符号化パラメータをカールすることができます--data-urlencode
。
$カール-X POST - データでurlencode "日付= 4月1日" example.com/form.cgi
六、HTTP動詞
カールデフォルトのHTTP動詞を使用して、GETである-X
他の動詞をサポートすることが可能なパラメータを。
$カール-X POST www.example.com
$カール-X DELETE www.example.comを
七、ファイルのアップロード
ファイルアップロードフォームがこのであると仮定すると:
だから、カールしてファイルをアップロードすることができます:
$カール--formアップロード= @ localfilename --form押し= OK [URL]
八、リファラーフィールド
時には、リファラフィールドは、あなたが来たところからのジャンプを表し、リクエストのヘッダー情報をhttpにする必要があります。
$カール--referer http://www.example.comのhttp://www.example.comの
九、ユーザエージェントフィールド
このフィールドは、クライアントのデバイス情報を示すために使用されます。時には、サーバーは、この分野に応じて、異なるデバイスのために、携帯電話やデスクトップのバージョンなど、さまざまな形式でのページに戻ります。
iPhone4のは、ユーザエージェントであります
Mozillaの/ 5.0(iPhone; U;のMac OS XのようなCPU iPhone OS 4_0; EN-US)のAppleWebKit / 532.9(ヤモリのようにKHTML、)バージョン/ 4.0.5モバイル/ 8A293サファリ/ 6531.22.7
カールはこれをシミュレートすることができます:
$カール--user-エージェント "[ユーザエージェント]" [URL]
テン、クッキー
使用--cookie
パラメータは、カールがクッキーを送信するのに役立ちます。
$カール--cookie "名前= XXX" www.example.com
クッキーの特定の値としては、ヘッダ情報からのHTTP応答をSet-Cookie
フィールドにして得られました。
-c cookie-file
ファイルサーバに保存することができクッキーを返し、-b cookie-file
あなたはフォローアップの要求を、クッキーファイルとしてこの情報を使用することができます。
$カール-cクッキーhttp://example.com $カール-bクッキーhttp://example.com
イレブン、増加ヘッダ情報
時には必要なHTTPリクエストに、ヘッダ自体を追加します。--header
パラメータは、この役割を再生することができます。
--header $カール"のContent-Type:アプリケーション/ JSON" http://example.com
十二、HTTP認証
いくつかのドメインのHTTP認証が必要とされ、その後、使用する必要がカール--user
のパラメータを。
名前--user $カール:パスワードexample.com
XIII、写真をクロール
-Theカールhttp://aliimg.changba.com/cache/photo/ [260939610に260929610] _640_640.jpg
第四に、クロールのWebページとソースコードをダウンロード
コマンドラインを開き、次のコマンドを入力し、サーバはホームBaiduのソースコードに取得要求を送信することができる> baidu.htmlソースがカレントディレクトリに出力され、保存するためのコマンド。
カールhttps://www.baidu.com > baidu.html
第五に、フォーム・GETまたはPOSTメソッドを取得します
ウェブページの<form> フォームを生成するために使用されるタグ。私たちは、フォームで送信ボタンをクリックすると、ブラウザは、すべてのフォームに記入しますパラメータ解析や包装を話し、そして最終的には指定されたHTTPと宛先ネットワークアドレスに送信されました。コードは、ボックスの下に表示された後にユーザ入力パラメータ情報がURLを埋めるように添加し、ターゲットサーバjudge.php GETメソッドを送信します。方法を取得し、それぞれの値は、フォーム内のフィールドに対応します。
そのため、私たちはこのcURLのシミュレーションベースのコマンドラインでもあり、メソッドのパラメータはURLアドレスに表示されますGET。
指定されたURL構文、汎用のURLアドレス形式は、実施形態に年コードフィールド、見やすいですし、その値は、<のparams> インスタンス。
<スキーム> :// <ユーザー> :<パスワード> @ <ホスト> :<ポート> / <パス> :<のparams> ?<問い合わせ> #<FRAG>
違いは、URLアドレスでは見えないが、このようなアカウントのパスワードなどの個人情報は、多くの場合、これらのデータは、多くの場合、ターゲット・サーバーに、HTMLヘッダーに転送データを追加しているため。GETメソッド、HTTP POSTで、サーバへのデータの転送を頼むということです POSTメソッドのカールコマンドライン処理方法は、-dパラメータです。
-d "年= 1997&プレス= OK"カールwww.example.com/judge.php
XVIアップロードファイル・POSTまたはPUTメソッド
1995年末には、RFC 1867には、ファイルをアップロードするための新しいPOSTメソッドを定義します。主に、サーバーにローカルファイルをアップロードするために使用。ページは次のように書かれています:
-Fを次のように対応するコマンドパラメータでcurlコマンド。
カール-Fアップロード= @ localfilename -Fプレス= OK URL
HTTPプロトコルの標準的な方法は、-TコマンドcURLのパラメータを使用してファイルのアップロードPUT、この時間を使用することです:
www.uploadhttp uploadfileカール-T。COM / receive.php
指定されたクライアントとして偽装XVII
一部のネットワークリソースには、最初にユーザーのブラウザが標準に準拠しているかを判断する必要があると私たちは、閲覧したり、ダウンロードできるようにする必要があります。この時点では、他のブラウザとして「変装」自分自身をカールすることができます:
カール-A "のMozilla / 4.0(互換; MSIE 5.01; Windows NTの5.0)" URL
このディレクティブは、カールがIE5.0、ユーザーのプラットフォームがWindows 2000で変装表します。カール-A "のMozilla / 4.73 [EN ](X11; U; Linuxの2.2.15 i686の)" URL
この時点で、カールがLinuxプラットフォームのPIII上で実行されている、ネットスケープとなりました。
私について
公共マイクロチャネル番号:infree6直接スキャンコード