Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich den Antworttext in Guzzle 6 effizient abrufen?

Wie kann ich den Antworttext in Guzzle 6 effizient abrufen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-28 13:54:14643Durchsuche

How to Efficiently Retrieve the Response Body in Guzzle 6?

Text aus einer Antwort in Guzzle 6 abrufen

Beim Arbeiten mit Guzzle wird der Text einer Antwort in einem Stream gespeichert. Um es abzurufen, gibt es zwei gängige Ansätze.

Verwendung des PHP-Casting-Operators

<br>$contents = (string) $response-> getBody();<br>

Dieser Vorgang liest alle Daten von Anfang an des Streams bis zum Ende. Nachfolgende Aufrufe von getBody()->getContents() geben eine leere Zeichenfolge zurück.

Mit getBody()->getContents()

$contents = $response->getBody()->getContents();

Mit getContents() gibt nur den restlichen Inhalt des Streams zurück. Wenn Sie es zweimal aufrufen, ohne die Position mit rewind() oder see() zu suchen, wird eine leere Zeichenfolge zurückgegeben.

Beispiel

Verwendung von (string):

$contents = (string) $response->getBody();
echo $contents; // Prints entire response body
$contents = (string) $response->getBody();
echo $contents; // Empty string, as data has already been consumed

Verwenden getContents():

$stream = $response->getBody();
$contents = $stream->getContents(); // Prints entire response body
$contents = $stream->getContents(); // Empty string, as data has not been reset
$stream->rewind(); // Reset stream
$contents = $stream->getContents(); // Prints entire response body

Fazit

Beide Ansätze rufen den Antworttext ab. Wählen Sie die Methode basierend auf Ihren spezifischen Anforderungen, z. B. ob Sie die Daten nur einmal oder mehrmals lesen müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich den Antworttext in Guzzle 6 effizient 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