2016-06-13 8 views
0

mit Ich versuche CURLOPT_HEADERFUNCTIONleere Antwort, wenn CURLOPT_HEADERFUNCTION

curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($curl, $headerLine) use($date) { 
    file_put_contents('/tmp/response-headers.log', $date . " " . print_r($headerLine, true), FILE_APPEND); 
}); 

$response = curl_exec($ch); 

Received-Header mit Antwort-Header zu bekommen, ist HTTP/1.1 200 OK, aber $response ist leer. Allerdings, wenn ich die curl_setopt Funktion oben kommentieren, funktioniert alles gut und ich bekomme volle Antwort Körper.

Wie kann ich den gesamten Körper erhalten, während ich Header in Datei ablege?

Antwort

1

Die documentation for CURLOPT_HEADERFUNCTION sagt

Ein Rückruf akzeptieren zwei Parameter. Die erste ist die cURL-Ressource, die zweite ist eine Zeichenfolge mit den zu schreibenden Header-Daten. Die Kopfdaten müssen von diesem Callback geschrieben werden. Gibt die Anzahl der geschriebenen Bytes zurück.

Ihre Funktion gibt nicht die Anzahl der geschriebenen Bytes zurück.

Verwandte Themen