Antwortheader und -text in PHP cURL abrufen
Die cURL-Bibliothek von PHP bietet eine leistungsstarke Möglichkeit zum Senden von HTTP-Anfragen. Bei Verwendung von curl_exec() besteht das Standardverhalten jedoch darin, nur den Antworttext zurückzugeben. Um sowohl die Header als auch den Text in einer einzigen Anfrage zu erhalten, ziehen Sie die folgende in der PHP-Dokumentation vorgestellte Lösung in Betracht:
// Initialize cURL and set necessary options $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Enable return of response curl_setopt($ch, CURLOPT_HEADER, 1); // Include headers in response // Execute the request $response = curl_exec($ch); // Extract header and body information $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); $body = substr($response, $header_size);
Bei diesem Ansatz gibt curl_exec() eine Zeichenfolge zurück, die sowohl die Header als auch den Text enthält. Anschließend verwenden wir curl_getinfo(), um die Größe der Header zu ermitteln und die Antwort entsprechend aufzuteilen.
Obwohl diese Lösung im Allgemeinen effektiv ist, ist es wichtig zu beachten, dass sie möglicherweise nicht zuverlässig ist, wenn Proxyserver verwendet oder Weiterleitungen verarbeitet werden. Daher ist es ratsam, andere Optionen zu erkunden, wie beispielsweise den von @Geoffrey in den Kommentaren zur Frage vorgeschlagenen Ansatz, um in allen Szenarien einen zuverlässigen Header- und Body-Abruf sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP cURL sowohl die HTTP-Antwortheader als auch den Text abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!