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
810 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!

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