2013-02-28 3 views
47

Kann ich curl_setopt mit CURLOPT_HTTPHEADER mehrmals aufrufen, um mehrere Header zu setzen?Kann ich curl_setopt mit CURLOPT_HTTPHEADER mehrmals aufrufen, um mehrere Überschriften festzulegen?

$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); 
+0

Warum würden Sie eine Funktion mehrmals aufrufen, wenn Sie dies nur einmal tun können und das gleiche Ergebnis erhalten? Sie geben mehr Overhead und Sie könnten den Code mit Header-Deklarationen über den ganzen Ort mud. – Tudor

Antwort

74

Nach was Locke hat intern für die Anforderung (über das Verfahren in this answer to "Php - Debugging Curl" umrandet) beantwortet die Frage: Nein, ist es nicht möglich ist, den curl_setopt Anruf mit CURLOPT_HTTPHEADER zu verwenden. Der zweite Anruf überschreibt die Header des ersten Anrufs.

Stattdessen muss die Funktion einmal mit allen Header aufgerufen werden:

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

Verwandte (aber anders) Fragen sind:

2

Andere ty pe des formats:

Verwandte Themen