raina77ows Antwort ist gut. Aus den Kommentaren sieht es so aus, als gäbe es einige Bedingungen, die dazu führen würden, dass die "Explosion" nicht funktioniert. Ich fand einen Weg, der besser für mich funktioniert und dachte, ich würde teilen.
Durch Aufruf von curl_getinfo ($ ch, CURLINFO_HEADER_SIZE) können Sie die Länge des Antwortheaders ermitteln. Also habe ich folgendes gemacht:
%Vor%Das funktioniert großartig für mich. Ich hoffe, es hilft jemand anderem.
Zeichne auf @Geoffrey ausgezeichnete Antwort in diesem Thema ...
Einige der anderen Lösungen, die diesen Thread anbieten, sind nicht , die das richtig machen.
\r\n\r\n
ist nicht zuverlässig, wenn CURLOPT_FOLLOWLOCATION
aktiviert ist oder wenn der Server mit einem 100-Code antwortet. CURLINFO_HEADER_SIZE
ist auch nicht immer zuverlässig, besonders wenn Proxies verwendet werden oder in einigen Umleitungsszenarien. Die zuverlässigste Methode zum Abrufen von Headern ist CURLOPT_HEADERFUNCTION
. Dann können Sie curl_setopt($ch, CURLOPT_HEADER, 1);
entfernen und Ihr Körper wird ohne Header sauber sein.
Hier ist eine sehr saubere Methode, um dies mit PHP-Closures durchzuführen. Es konvertiert auch alle Header in Kleinbuchstaben für eine konsistente Behandlung zwischen Servern und HTTP-Versionen.
%Vor%Tags und Links php