Rumah > Artikel > pembangunan bahagian belakang > Membuat permintaan HTTP menggunakan PHP dan Guzzle
Dengan perkembangan pesat Internet, permintaan HTTP telah menjadi bahagian penting dalam pelbagai aplikasi web. Untuk pembangun PHP, Guzzle ialah perpustakaan klien HTTP yang sangat disyorkan yang boleh membantu kami memulakan permintaan HTTP, memproses respons, mengurus sesi, dsb.
Artikel ini akan memperkenalkan cara menggunakan PHP dan Guzzle untuk memulakan permintaan HTTP, membantu pembaca memahami dengan lebih baik prinsip asas dan penggunaan Guzzle.
1. Pengenalan kepada Guzzle
Guzzle ialah perpustakaan PHP yang digunakan untuk memulakan permintaan HTTP dan memproses respons. Ia direka bentuk untuk menyediakan API yang ringkas dan elegan yang boleh diperluaskan dan boleh disesuaikan dengan mudah untuk pelbagai keperluan. Guzzle menyokong protokol HTTP 1.1 untuk membantu pembangun PHP membina klien API dan perkhidmatan web dengan cepat.
2. Pasang Guzzle
Gunakan Komposer untuk memasang Guzzle dalam direktori projek Anda boleh menggunakan arahan berikut:
composer require guzzlehttp/guzzle
3 🎜>
use GuzzleHttpClient; $client = new Client(); $response = $client->get('http://httpbin.org/get'); $body = (string) $response->getBody(); print_r(json_decode($body));Dalam kod di atas, kami mula-mula buat contoh Pelanggan Guzzle, dan kemudian gunakan kaedah
memulakan permintaan GET, alamat permintaan ialah get
dan menghuraikan hasil respons ke dalam format JSON untuk output. http://httpbin.org/get
use GuzzleHttpClient; $client = new Client(); $response = $client->post('http://httpbin.org/post', [ 'form_params' => [ 'username' => 'testuser', 'password' => 'testpassword', ] ]); $body = (string) $response->getBody(); print_r(json_decode($body));Dalam kod di atas, kami menggunakan kaedah
untuk memulakan Permintaan POST, alamat permintaan ialah post
dan dua parameter http://httpbin.org/post
dan username
ditambahkan pada badan permintaan, dan akhirnya hasil respons dihuraikan dan dikeluarkan dalam format JSON. password
use GuzzleHttpClient; $client = new Client(); $response = $client->put('http://httpbin.org/put', [ 'json' => [ 'name' => 'testuser', 'age' => 18, ] ]); $body = (string) $response->getBody(); print_r(json_decode($body));Dalam kod di atas, kami menggunakan kaedah
untuk memulakan Permintaan PUT, alamat permintaan ialah put
dan objek JSON http://httpbin.org/put
ditambahkan pada badan permintaan, dan akhirnya hasil respons dihuraikan dan dikeluarkan dalam format JSON. { "name": "testuser", "age": 18 }
use GuzzleHttpClient; $client = new Client(); $response = $client->delete('http://httpbin.org/delete'); $body = (string) $response->getBody(); print_r(json_decode($body));Dalam kod di atas, kami menggunakan kaedah
untuk memulakan Permintaan DELETE, alamat permintaan ialah delete
, dan akhirnya hasil respons dihuraikan dan dikeluarkan dalam format JSON. http://httpbin.org/delete
use GuzzleHttpClient; $client = new Client(); $response = $client->get('http://httpbin.org/get'); // 获取响应体 $body = (string) $response->getBody(); // 获取响应状态码 $statusCode = $response->getStatusCode(); // 获取响应原因短语 $reasonPhrase = $response->getReasonPhrase(); // 获取响应头 $headers = $response->getHeaders(); // 获取响应内容类型 $contentType = $response->getHeaderLine('Content-Type');6. Gunakan Guzzle untuk mengurus sesi Guzzle menyediakan kelas CookieJar yang boleh mengurus kuki dalam sesi Berikut ialah contoh:
use GuzzleHttpClient; use GuzzleHttpCookieCookieJar; $client = new Client([ 'cookies' => true, ]); $cookieJar = new CookieJar(); $client->get('http://httpbin.org/cookies/set', [ 'query' => [ 'name' => 'testcookie', 'value' => 'testvalue', ], 'cookies' => $cookieJar, ]); $client->get('http://httpbin.org/cookies', [ 'cookies' => $cookieJar, ]); print_r($cookieJar->toArray());Dalam kod di atas, kami menggunakan
untuk mencipta contoh Pelanggan Guzzle, mendayakan fungsi pengurusan kuki automatik dalam pembina, dan kemudian mengurus kuki dengan mencipta tika CookieJar. Seterusnya, kami menggunakan $client
untuk memulakan dua permintaan GET Permintaan pertama menetapkan nilai Kuki $client
kepada testcookie
, dan permintaan kedua mendapat maklumat Kuki dan mengeluarkannya. testvalue
Atas ialah kandungan terperinci Membuat permintaan HTTP menggunakan PHP dan Guzzle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!