Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich sowohl Header als auch Text effizient aus einer PHP-cURL-Antwort abrufen?

Wie kann ich sowohl Header als auch Text effizient aus einer PHP-cURL-Antwort abrufen?

DDD
DDDOriginal
2024-12-29 05:51:08822Durchsuche

How to Efficiently Retrieve Both Headers and Body from a PHP cURL Response?

Antwortheader und -text in PHP cURL abrufen

Bei Verwendung von PHP cURL ist es möglich, sowohl Antwortheader als auch den Text in einem abzurufen Einzelanfrage. Ein gängiger Ansatz besteht darin, CURLOPT_HEADER auf „true“ zu setzen, wodurch der Textkörper zusammen mit den Headern zurückgegeben wird. Das Parsen dieser kombinierten Antwort zum Extrahieren des Körpers erfordert jedoch zusätzliche Verarbeitung.

Eine alternative Methode, die in den Kommentaren zur PHP-Dokumentation vorgeschlagen wird, bietet einen strukturierteren Ansatz:

Code:

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
// ...

$response = curl_exec($ch);

// Get header and body after execution:
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);

Dieser Ansatz bietet einen saubereren Zugriff auf die Header- und Body-Komponenten des Antwort.

Achtung:

Es ist wichtig zu beachten, dass diese Methode möglicherweise nicht in allen Szenarien zuverlässig ist, insbesondere wenn Proxyserver verwendet oder bestimmte Arten von Weiterleitungen verarbeitet werden. Für eine höhere Zuverlässigkeit sollten Sie die im Kommentarbereich bereitgestellte alternative Lösung von @Geoffrey in Betracht ziehen, die diese Randfälle behandelt.

Das obige ist der detaillierte Inhalt vonWie kann ich sowohl Header als auch Text effizient aus einer PHP-cURL-Antwort abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP und Go als Tech Stack.Nächster Artikel:PHP und Go als Tech Stack.