Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mendapatkan Kembali Badan Respons dalam Guzzle 6?

Bagaimana untuk Mendapatkan Kembali Badan Respons dalam Guzzle 6?

Susan Sarandon
Susan Sarandonasal
2024-11-30 17:06:12468semak imbas

How to Retrieve the Response Body in Guzzle 6?

Mendapatkan Kembali Badan Respons dalam Guzzle 6

Guzzle 6, perpustakaan klien HTTP yang popular untuk PHP, menggunakan standard PSR-7 yang mewajibkan penggunaan strim untuk menyimpan isi mesej. Untuk mendapatkan semula badan ini sebagai rentetan, gunakan salah satu kaedah berikut:

Operator Casting Rentetan

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

Menggunakan getContents()

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

Kekunci Perbezaan:

  • getContents() mengembalikan baki kandungan strim, bermakna panggilan berikutnya akan mengembalikan rentetan kosong melainkan kedudukan strim ditetapkan semula menggunakan putar balik atau cari.
  • Penghantaran ke rentetan akan membaca semua data daripada strim, tanpa mengira operasi sebelumnya.

Contohnya:

$stream = $response->getBody();
$contents = $stream->getContents(); // returns all contents
$contents = $stream->getContents(); // empty string
$stream->rewind();  // reset stream position
$contents = $stream->getContents();  // returns all contents again

Dalam kontras:

$contents = (string) $response->getBody(); // returns all contents
$contents = (string) $response->getBody(); // returns all contents again

Untuk butiran lanjut, rujuk dokumentasi Guzzle: http://docs.guzzlephp.org/en/latest/psr7.html#responses

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kembali Badan Respons dalam Guzzle 6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn