Abrufen von Headern und Text in PHP-cURL-Anfragen
Beim Erstellen von cURL-Anfragen mit PHP kann das Abrufen sowohl der Antwortheader als auch des Texts ein Problem sein Herausforderung. Die Option CURLOPT_HEADER gibt zwar den Textkörper zusammen mit den Headern zurück, erfordert jedoch eine manuelle Analyse, um den Textkörper zu extrahieren. Erwägen Sie für eine effizientere und sicherere Lösung den folgenden Ansatz:
Lösung:
Wie in der PHP-Dokumentation vorgeschlagen, verwenden Sie eine Kombination aus CURLOPT_RETURNTRANSFER und dem Abrufen der Headergröße von CURLINFO_HEADER_SIZE ermöglicht die Trennung von Headern und body:
// Initialize cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); // Execute the request $response = curl_exec($ch); // Extract header size $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); // Separate headers and body $header = substr($response, 0, $header_size); $body = substr($response, $header_size);
Achtung:
Obwohl diese Lösung im Allgemeinen zuverlässig ist, funktioniert sie möglicherweise nicht konsistent, wenn Proxyserver verwendet werden oder bestimmte Arten von Weiterleitungen verarbeitet werden. In solchen Fällen können alternative Ansätze, wie der in der ursprünglichen Frage genannte, zuverlässigere Ergebnisse liefern.
Das obige ist der detaillierte Inhalt vonWie kann ich Header und Body in PHP-cURL-Anfragen effizient trennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!