Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich den Antworttext in Guzzle 6 effizient abrufen?
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!