83

curl_setopt複数のヘッダーを設定するためにCURLOPT_HTTPHEADER複数回呼び出すことはできますか?

$url = 'http://www.example.com/';

$curlHandle = curl_init($url);
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, array('Content-type: application/xml'));
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, array('Authorization: gfhjui'));

$execResult = curl_exec($curlHandle);
4

3 に答える 3

132

リクエストに対してcurlが内部的に行うことに従うと(「Php - Debugging Curl」へのこの回答で概説されている方法を介して)、質問に答えます:いいえ

いいえ、複数のヘッダーを設定するために、curl_setopt呼び出しをCURLOPT_HTTPHEADER複数回使用して、毎回単一のヘッダーを渡すことはできません。

2 番目の呼び出しは、前の呼び出し (最初の呼び出しなど) のヘッダーを上書きします。

代わりに、すべてのヘッダーで関数を 1 回呼び出す必要があります。

$headers = array(
    'Content-type: application/xml',
    'Authorization: gfhjui',
);
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, $headers);

関連する(ただし異なる)質問は次のとおりです。

于 2013-02-28T11:38:25.120 に答える
14

他のタイプのフォーマット:

$headers[] = 'Accept: application/json';
$headers[] = 'Content-Type: application/json';
$headers[] = 'Content-length: 0';

curl_setopt($curlHandle, CURLOPT_HTTPHEADER, $headers);
于 2016-11-15T15:18:46.690 に答える