カール使用ガイドライン

 

まず、ページのソースコードを表示

直接URLでcurlコマンドの後には、ページのソースを見ることができます。弊社のウェブサイトのwww.sina.com 例えば(主な理由は、その短いページコードのウェブサイトを、選択します):

  $カールwww.sina.com

              

恒久的に移動

  

ドキュメントは移動しました  ここに

  

あなたがこのページを生き残るためにしたい場合は、使用することができます-owgetのコマンドを使用するのと同じであるパラメータを、。

  $カール-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。

カールwww.example.com/judge.php?year=1997&press=ok

指定された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直接スキャンコード

 

おすすめ

転載: www.cnblogs.com/songjianzaina/p/11303709.html