Могу ли я вызвать curl setopt с помощью CURLOPT HTTPHEADER несколько раз, чтобы установить несколько заголовков?


могу я позвонить 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);
2 54

2 ответа:

после того, что curl делает внутренне для запроса (с помощью метода, описанного в это ответ на "Php-Debugging Curl") отвечает на вопрос: Нет, нельзя использовать curl_setopt вызов с CURLOPT_HTTPHEADER. Второй вызов перезапишет заголовки первого вызова.

вместо этого функция должна быть вызвана один раз со всеми заголовками:

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

связанные (но разные) вопросы:

другой тип формата :

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

curl_setopt($curlHandle, CURLOPT_HTTPHEADER, $headers);