2013-10-01 6 views
11

libcurlライブラリを使用してサーバからabc-1.tarファイルを取得しています。このメッセージを表示するにはlibcurlの表示と実行プロセスであるメッセージの意味を知りたい。例についてはlibcurlメッセージと実行プロセスの意味

:私は*で始まるされているすべてのメッセージの意味、特にメッセージが欲しい

など、私はContent-Lengthのような意味の基本的なメッセージがダウンロードされたファイルの長さを意味知っていることのうち、以下のいくつかのメッセージを提供<によってマーク(例えばConnection #0 to host (nil) left intact

* Re-using existing connection! (#0) with host (nil) 
* Connected to (nil) (182.72.67.14) port 65101 (#0) 
GET /...... HTTP/1.1 
Host: 182.72.67.14:65101 
Accept: */* 
Connection:keep-alive 
< HTTP/1.1 200 OK 
< Cache-Control: private 
< Content-Length: 186368 
< Content-Type: application/x-tar 
< Server: Microsoft-IIS/7.5 
< Content-Disposition: attachment; filename=abc-1.tar 
< X-AspNet-Version: 4.0.30319 
< X-Powered-By: ASP.NET 
< Date: Tue, 01 Oct 2013 06:29:00 GMT 
< 
* Connection #0 to host (nil) left intact 

答えて

2

は、HTTPヘッダーとその意味について詳細に読むことができますhere*でマークは詳細情報HTTPですheaders.Youされていますcurlによって提供され、stderrに表示される。

+1

「*」とマークされた詳細情報が必要です。これについて知るべき道はありますか? –

21

cURL's Man Pageが「特別」冗長出力の3種類の指定:

を「>」で始まる行は、カールによって送信される「ヘッダデータ」を意味し、「<」はカールによって受信された「ヘッダデータ」を意味します'*'で始まる行は、curlによって提供される追加情報を意味します。

あなたはHTTP official publication pageHTTP header fieldsを読むことができます。 cURLによって表示される他の出力行は、対応するメッセージによって運ばれるHTTP本体に属します。

*で始まるこれらの情報の実際の意味は何ですか?ホストとの転送TCP接続のステータスについて通知します。例えば:

  • "Connected to (nil) (182.72.67.14) port 65101 (#0)"は、TCP接続が(:182.72.67.14あなたのケースで)サーバ側で確立されることを意味します。 #0はTCPセッション番号です(これはcURLによってのみ使用されます)。 nilは、ホスト名がDNS経由で解決できなかったことを示します(解決済みであれば、nilの代わりに表示されます)。

  • "Connection #0 to host (nil) left intact"あなたが複数の転送のために同じTCP接続を再利用し維持すること、(つまり、何のFIN/ACK交換が行われていない)転送が終わったものの、TCPセッション自体がまだ開いていることを意味します(これは可能性新しいTCP接続を開く際に時間を犠牲にしたくない場合に便利です)。

    メッセージ"Re-using existing connection! (#0) with host (nil)"は、cURLが実際に(以前の転送からの)既存のTCP接続に乗っていることを示しています。

+0

''接続#0をホスト(nil)にそのまま残してください ''は 'keep-alive'を提案していますが、サーバによって設定されていますか? –

+0

@CharlesOkwuagwu私はそう思います、はい。 –

関連する問題