Dengan metode Show
Kita dapat menggunakan metode Keluaran
Dengan opsi Keluaran _ ❮ Referensi Jaringan PHP ContohKembalikan daftar tajuk respons yang dikirim setcookie("TestCookie", "SomeValue"); var_dump(headers_list()); Output dari kode di atas bisa jadi larik(4) Definisi dan PenggunaanFungsi headers_list() mengembalikan daftar header respons untuk dikirim ke browser Tip. Untuk menentukan apakah header sudah dikirim atau belum, gunakan fungsi headers_sent() SintaksisDetail TeknisNilai Pengembalian. Susunan header yang diindeks secara numerik pada versi successPHP. 5. 0+❮ Referensi Jaringan PHP Mendapatkan header respons HTTP dengan cURL di PHP tidaklah mudah. Tidak ada cara bawaan untuk melakukan ini, tetapi kami masih dapat memotong header dari pesan tanggapan, jika CURLOPT_HEADER benar 47153 dilihat Oleh. Yakub Diedit. 12-04-2021 11. 12 Ketika permintaan HTTP telah diterima oleh server, biasanya respons dikirim kembali ke klien, dan respons server biasanya terdiri dari dua bagian; Bagian tajuk respons berisi semua tajuk respons, termasuk cookie (jika ada) dan informasi tentang jenis mime konten. Badan respons berisi konten, yang harus cocok dengan tipe ranjau di header. Misalnya, tipe pantomim yang umum mungkin berupa teks/html untuk halaman HTML, dan teks/css untuk Lembar Gaya eksternal Untuk menampilkan tajuk tanggapan atas permintaan tertentu, kita cukup memotong tajuk menggunakan kombinasi opsi dan fungsi. Penjelasan lebih rinci tentang ini tersedia di bagian artikel selanjutnya, bagi mereka yang tertarik Contoh lengkap cepat disertakan di bawah ini $url = "https://beamtic.com/api/user-agent"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 1); $response = curl_exec($ch); // Retudn headers seperatly from the Response Body $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $headers = substr($response, 0, $header_size); $body = substr($response, $header_size); curl_close($ch); header("Content-Type:text/plain; charset=UTF-8"); echo $headers; echo $body; Di atas akan menampilkan sesuatu seperti HTTP/1.1 200 OK date: Sun, 21 Feb 2021 12:11:57 GMT server: 0 cache-control: no-cache expires: -1 allow: GET, HEAD strict-transport-security: max-age=31536000; includeSubDomains vary: Accept-Encoding content-encoding: br x-frame-options: SAMEORIGIN content-length: 10252 content-type: text/html; charset=utf-8 Kode respons selalu merupakan baris pertama yang dikembalikan di kepala respons Mendapatkan header sebagai kunci. pasangan nilaiSeperti yang dibahas dalam artikel parsing response headers di PHP, kita juga bisa membuat associative array yang berisi key. pasangan nilai. Karena kita sudah mendapatkan headernya, kita bisa melakukannya seperti ini // Convert the $headers string to an indexed array $headers_indexed_arr = explode("\r\n", $headers); // Define as array before using in loop $headers_arr = array(); // Remember the status message in a separate variable $status_message = array_shift($headers_indexed_arr); // Create an associative array containing the response headers foreach ($headers_indexed_arr as $value) { if(false !== ($matches = explode(':', $value, 2))) { $headers_arr["{$matches[0]}"] = trim($matches[1]); } } // Show that it works header('content-type: text/plain; charset=utf-8'); print_r($headers_arr);exit();_ Mengambil header responsTidak ada cara bawaan untuk hanya mengembalikan header respons menggunakan cURL di PHP. Namun, kami masih dapat "memotong" mereka dari respons penuh. Untuk melakukannya, pertama-tama kita menentukan ukuran header respons, lalu memotongnya dari respons menggunakan fungsi substr() Pertama, kami menetapkan opsi CURLOPT_HEADER menjadi benar. Melakukan hal ini akan menyertakan tajuk dalam respons yang diunduh oleh cURL. Selanjutnya, kita perlu memotong header Dengan menggunakan metode ini, kita dapat mengembalikan bagian tubuh dan header dari respons. Namun, sebelum kita dapat memisahkan komponen respons, kita perlu mendapatkan ukuran header. Ini dapat dilakukan dengan menggunakan curl_getinfo() dengan opsi CURLINFO_HEADER_SIZE, seperti yang ditunjukkan di bawah ini $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); Terakhir, kita dapat menggunakan nilai yang dikembalikan oleh curl_getinfo() dengan substr() untuk memisahkan header dari pesan respons $headers = substr($response, 0, $header_size); $body = substr($response, $header_size);_ Buat array yang berisi setiap headerUntuk bekerja lebih baik dengan header individu, kita harus menempatkannya dalam array. Header HTTP dipisahkan oleh Carriage Return dan Line Feed, juga dikenal sebagai CRLF (Terkadang juga direpresentasikan sebagai. [CR][LF]). Mengetahui hal ini, kita dapat membuat array dari header mentah menggunakan fungsi PHP explosion() $headers_arr = explode("\r\n", $headers); // The separator used in the Response Header is CRLF (Aka. \r\n) print_r($headers_arr); // Shows the content of the $headers_arr array Seperti yang Anda lihat, kami juga memiliki beberapa entri kosong. Untuk menghapusnya, kita bisa meneruskan array ke fungsi array_filter() $headers_arr = array_filter($headers_arr);_ Akhirnya, kita dapat dengan mudah mengerjakan array dalam satu lingkaran $html = ''; foreach ($headers as &$value) { $html .= '<li>' . $value . '</li>'; } $html = '<ol>' . $html . '</ol>';_ Contoh selesai // URL to fetch $url = "https://beamtic.com/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 1); $response = curl_exec($ch); // Retudn headers seperatly from the Response Body $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $headers = substr($response, 0, $header_size); $body = substr($response, $header_size); curl_close($ch); $headers = explode("\r\n", $headers); // The seperator used in the Response Header is CRLF (Aka. \r\n) $headers = array_filter($headers); $html = ''; foreach ($headers as &$value) { $html .= '<li>' . $value . '</li>'; } $html = '<ol>' . $html . '</ol>'; header("Content-Type:text/html; charset=UTF-8"); echo $html; Peralatan
Anda dapat menggunakan titik akhir API berikut untuk tujuan pengujian https://beamtic.com/api/user-agent HTTP/1.1 200 OK date: Sun, 21 Feb 2021 12:11:57 GMT server: 0 cache-control: no-cache expires: -1 allow: GET, HEAD strict-transport-security: max-age=31536000; includeSubDomains vary: Accept-Encoding content-encoding: br x-frame-options: SAMEORIGIN content-length: 10252 content-type: text/html; charset=utf-80 Bagikan dengan temanmuPanduan yang bagus, terima kasih Halo, Ini adalah artikel yang bermanfaat. Saya merangkum banyak kode ini ke dalam fungsi yang saya gunakan di banyak skrip baris perintah di Mac untuk sejumlah tujuan di tempat kerja. Terima kasih Bagaimana cara memeriksa tajuk dari respons di PHP?Hal ini dapat dilakukan dengan CURLINFO_HEADER_SIZE parameter dalam fungsi curl_getinfo() , yang akan memberi tahu kita panjang header dan kita dapat .
Bagaimana cara mendapatkan detail tajuk di PHP?PHP. get_headers() Fungsi
. Parameter. Fungsi ini menerima tiga parameter seperti yang disebutkan di atas dan dijelaskan di bawah ini. $url. Ini adalah parameter wajib dari tipe string. Ini mendefinisikan URL target.
Bagaimana cara mendapatkan tajuk respons?Gunakan metode GetHeader() dan GetHeaders() dari objek respons untuk mendapatkan satu nilai header atau daftar lengkap header . Ini dapat digunakan pada objek permintaan serta respons.
Bagaimana cara mengatur header respons di PHP?Untuk versi PHP 4. 0. Untuk mengirim kode respons HTTP, kita perlu menyusun kode respons. Untuk melakukannya, gunakan fungsi header() . Fungsi header() berisi kasus penggunaan khusus yang dapat mendeteksi baris respons HTTP dan menggantinya dengan yang khusus. tajuk ("HTTP/1. 1 404 Tidak Ditemukan"); |