Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana Mendapatkan Kandungan Badan dengan Cekap daripada Tindak Balas Guzzle 6 PSR-7?

Bagaimana Mendapatkan Kandungan Badan dengan Cekap daripada Tindak Balas Guzzle 6 PSR-7?

DDD
Lepaskan: 2024-11-30 20:34:17
asal
781 orang telah melayarinya

How to Efficiently Get Body Contents from a Guzzle 6 PSR-7 Response?

Mendapatkan Kandungan Badan daripada Respons PSR-7 dalam Guzzle 6

Dalam Guzzle 6, respons mematuhi piawaian PSR-7, yang menggunakan Strim untuk menyimpan badan tindak balas. Untuk mendapatkan semula kandungan badan, seseorang mesti mendapatkan semula Strim dan seterusnya mendapatkan kandungannya.

Kaedah untuk Mendapatkan Kandungan Badan:

  • Menghantar ke Rentetan:

    $contents = (string) $response->getBody();
    Salin selepas log masuk
  • getContents():

    $contents = $response->getBody()->getContents();
    Salin selepas log masuk

Perbezaan antara getContents() dan Casting:

getContents() mengembalikan kandungan strim yang tinggal. Panggilan seterusnya ke getContents() akan mengembalikan rentetan kosong melainkan kedudukan strim ditetapkan semula. Penghantaran, sebaliknya, membaca semua data strim dari awal hingga akhir.

Contoh:

$stream = $response->getBody();
$contents = $stream->getContents(); // contents are retrieved
$contents = $stream->getContents(); // returns empty string
$stream->rewind(); // seek the stream back to the beginning
$contents = $stream->getContents(); // contents are retrieved again
Salin selepas log masuk

Menghantar ke rentetan melakukan operasi bacaan tunggal dan mengembalikan semua data daripada strim.

$contents = (string) $response->getBody(); // contents are retrieved
$contents = (string) $response->getBody(); // contents are retrieved again
Salin selepas log masuk

Dokumentasi:

  • https://docs.guzzlephp.org/en/latest/psr7.html#responses

Atas ialah kandungan terperinci Bagaimana Mendapatkan Kandungan Badan dengan Cekap daripada Tindak Balas Guzzle 6 PSR-7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan