Linuxのコマンドの概要--curlコマンド

コマンドをカールするはじめに

カールは、コマンドラインツール、ネットワーク要求の役割であり、次いで上記の「標準出力」(標準出力)を示すデータを得るために抽出しました。

Linuxは、STDIN、STDOUT、STDERR、対応する番号が0で、それぞれ3つの標準入力と出力、があります。

STDIN標準入力、デフォルトの情報は、キーボードから読み込まれます。

STDOUTは標準出力、デフォルトの出力端子に結果です。

STDERRは標準エラー出力端子へのデフォルトの結果です。

デフォルトのSTDOUTとSTDERRが端末に表示されているので、区別するために、そこに、0、1の規定数であるSTDOUT、1 2で表されるSTDERRを表します。

それは、例えば、以下のWeb開発のためにそれを使用する方法を説明するために、複数のプロトコルをサポートしています。

Linuxのカールでは、ファイル転送ツールの使用のURLルールは、コマンドラインで働いている、あなたはそれが非常に強力なhttpコマンドラインツールであると言うことができます。これは、アップロードをサポートし、ファイルをダウンロードし、伝送ツールを統合しますが、伝統的に、ツールをダウンロードするためのURLを参照するために使用されています。

文法

構文:#カール[オプション] [URL]

一般的なパラメータ:

-A / - ユーザエージェント<文字列>提供サーバへのユーザエージェント

-b / -クッキー<名前=文字列 /ファイル>クッキー文字列またはファイルの読み取り位置
-c / -クッキージャー<ファイル>後の動作は、ファイルにクッキーを書き込むこと
-C / - continue- <オフセット>再開回しで
-D / -ダンプ-ヘッダー<ファイル > ファイルにヘッダー情報を書き込み
-e / -リファラURL 
-f / -エラーがHTTP接続が失敗した表示されていないと失敗
- O / -出力は出力ファイルに書き込まれ
/ -O -リモート名は、出力ファイルに書き込まれ、リモートファイル名は保持
/ -r - HTTP / 1.1またはFTPから取得範囲<範囲>サーバーのバイトは範囲
サイレントサイレントモード- -sを/。出力しません何も
-T / -アップロードファイル<ファイル > アップロードファイル
-u / -ユーザー<ユーザー[:パスワード]> サーバのユーザ名とパスワードを設定します
-w / -書き込みアウト[形式を ] 出力が完了した後にどのようなものです
-x / -プロキシ:<ホスト[ポート]> 指定されたポート上のHTTPプロキシ
- #/ -プログレスバープログレスバーは、転送の現在の状態を示しています

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

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

  $カールwww.sina.com

  <!DOCTYPE HTML PUBLIC " - // IETF // DTD HTML 2.0 // EN">
  <HTML> <HEAD>
  <TITLE> 301移動永久</ TITLE>
  </ HEAD> <BODY>
  <H1>永久的に移動</ H1>
  <P>ドキュメントはこちら</a>の<aのhref="http://www.sina.com.cn/">を移動しました。</ P>
  </ body> </ html>この

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

  $カール-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
  接続:近いです

  <!DOCTYPE HTML PUBLIC " - // IETF // DTD HTML 2.0 // EN">
  <HTML> <HEAD>
  <TITLE> 301移動永久</ TITLE>
  </ HEAD> <BODY>
  <H1>永久的に移動</ H1>
  <P>ドキュメントはこちら</a>の<aのhref="http://www.sina.com.cn/">を移動しました。</ P>
  </ body> </ html>この

`-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日午後12時42分39秒GMT
  <サーバ:Apacheの/ 2.0.54(Unixの)
  <所在地:のhttp:/ /www.sina.com.cn/
  <のCache-Control:最大エージング= 3600
  <有効期限:日、2011年9月4日午前1時42分39秒GMTを
  <ヴァリ:受け入れ-エンコーディングを
  <コンテンツの長さ:231
  <コンテンツタイプ:text / htmlの。文字セット= ISO-8859-1
  <X-キャッシュ:MISS sh201-19.sina.com.cnから
  <接続:閉じる
  < 
  <!DOCTYPE HTML PUBLIC " - // IETF // DTD HTML 2.0 // EN">
  <htmlの> <HEAD>
  <タイトル> 301移動永久</タイトル>
  </ head> <body>
  <H1>永続的移動</ H1>
  <P>文書は、<HREF = "http://www.sina移動しました。 com.cn/">hereする</a>ます。</ p>
  </ body> </ html>この
  *閉会コネクション#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動詞が-X`パラメータは、他の動詞をサポートして `使用し、GETです。

  $カール-X POST www.example.com

  $カール-X www.example.comをDELETE

七、ファイルのアップロード

ファイルアップロードフォームがこのであると仮定すると:

  <フォームメソッド= "POST"のenctype = 'マルチパート/フォームデータ'アクション= "upload.cgi">
    の<input type =ファイル名=アップロード>
    の<input type =提出名=プレス値= "OK">
  </フォーム>

だから、カールしてファイルをアップロードすることができます:

  $カール--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レスポンスヘッダ情報 `セットCookie`フィールドから得ることができます。

`-Cクッキー-file`は、ファイルサーバに保存することができ、クッキー、` -bクッキー-file`は、後続の要求のために、クッキー情報として、このファイルを使用することができますが返されます。

  $カール-cクッキーhttp://example.com
  $カール-bクッキーhttp://example.com

イレブン、増加ヘッダ情報

時には必要なHTTPリクエストに、ヘッダ自体を追加します。`--Header`パラメータは、この役割を再生することができます。

  --header $カール "のContent-Type:アプリケーション/ JSON" http://example.com

十二、HTTP認証

いくつかのドメインのHTTP認証が必要とされ、その後、 `--user`パラメータを使用する必要がカール。

  名前--user $カール:パスワードexample.com

おすすめ

転載: www.cnblogs.com/hanjiali/p/11696647.html