2012-01-19 5 views
11

なぜカールのヘッダーをオフにするのですか?人々が使うかなりの数のカールの例では

curl_setopt($ch, CURLOPT_HEADER, 0); 

これを行うことの利点は何ですか?

私はイメージを表示することができました。私はどのオプションをオン/オフにするべきか、またその理由を知りたいと思います。

curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); // use? 
curl_setopt($curlGetToken, CURLOPT_ENCODING, 'gzip'); // does it slow down MY server 
+4

良い質問... CURLOPT_HEADERのデフォルトは 'false'です。分かりやすくするために、どうして' false'を明示的に設定するのか分かりません。 – Brad

答えて

11

CURLOPT_HEADERを0に設定すると、応答のヘッダー情報が出力から除外されます。だからあなたがそれを必要としないなら、カールがあなたに戻ってくるKBが少し少なくなります。

+0

他の2つについてもっと教えていただけますか?画像を読み込むときに有効にすると便利でしょうか? – SuperSpy

+0

すべてのCURLオプションの説明は、http://www.php.net/manual/en/function.curl-setopt.phpで利用できます。 CURLOPT_BINARYTRANSFERは、URLがリダイレクトされたときに実際のバイナリデータを返すように見えます(画像に便利です)。 CURLOPT_ENCODINGは、サーバーにどのタイプのエンコーディングが受け入れられるかを伝えるだけです。したがって、どちらの方法でも、データは必要な場合にのみデコードされます。しかし、CURLOPT_ENCODINGに値を指定することで、1つのタイプのエンコーディングだけを受け入れるように呼び出しを制限しています。 –

5

によれば、ヘッダーが応答本文と一緒に返されるかどうかを制御します。一般的に、レスポンスボディのみを気にする場合は、これを無効にします(これがデフォルトです)。

+0

ヘッダーには何が入りますか?これは訪問したサーバーが返すものですか? – SuperSpy

+0

@SuperSpy:はい、応答ヘッダーです。 – alex

+0

@alex:デフォルト値は何ですか?それが(少なくともこれは私が想定している) '' false '/ '' 0''にデフォルトで '0'または' false'に設定するのはなぜですか? – hakre

0

など。カールが呼ぶとあなたには、いくつかのJSONのものを取得しようとしたとき、あなたは簡単にこれを行うことができます。

$decodedData = json_decode($curlResult, true); 

$decodedDataは今のアレイです。

ヘッダーが$curlResultに含まれている場合は、最初に削除する必要があります(可能であればreg exp付き)。

関連する問題