Protokol HTTP ialah salah satu protokol yang paling penting dalam aplikasi web Ia menggunakan model permintaan-tindak balas yang mudah untuk mendapatkan dan menghantar data. Sebagai bahasa pembangunan web yang popular, PHP menyediakan banyak fungsi permintaan pelayan HTTP untuk membantu pembangun berinteraksi dengan pelayan web. Artikel ini akan memperkenalkan fungsi permintaan pelayan HTTP dalam PHP secara terperinci.
Fungsi file_get_contents() ialah fungsi paling popular dalam PHP untuk mendapatkan data daripada pelayan jauh Ia boleh menangkap HTTP, HTTPS, FTP, Strim data seperti SFTP, SCP dan strim fail serta menukarnya kepada rentetan. Selain itu, fungsi ini juga menyediakan parameter pilihan untuk menetapkan pengepala permintaan HTTP, tamat masa permintaan, dsb.
Contoh:
$url = 'http://www.example.com'; $response = file_get_contents($url, false, stream_context_create([ 'http' => [ 'method' => 'GET', 'header' => 'Authorization: Bearer ' . $access_token ] ])); echo $response;
Fungsi curl_exec() ialah satu lagi fungsi PHP yang biasa digunakan untuk mendapatkan data daripada penggunaan pelayan jauh perpustakaan libcurl untuk melaksanakan komunikasi rangkaian. Berbanding dengan fungsi file_get_contents(), fungsi curl_exec() menyediakan lebih banyak sokongan protokol dan fungsi lanjutan, seperti: berbilang permintaan serentak, permintaan ubah hala, dsb.
Contoh:
$url = 'http://www.example.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $access_token]); $response = curl_exec($ch); curl_close($ch); echo $response;
Fungsi stream_socket_client() boleh mencipta soket aliran data domain TCP/IP atau UNIX dan Sambung ke pelayan jauh yang ditentukan. Tidak seperti fungsi curl_exec() dan fungsi file_get_contents(), fungsi stream_socket_client() menyediakan lebih banyak fungsi peringkat rendah dan membolehkan anda mengawal permintaan HTTP dengan cara yang lebih terperinci.
Contoh:
$url = 'http://www.example.com'; $host = parse_url($url, PHP_URL_HOST); $port = 80; $path = parse_url($url, PHP_URL_PATH); $query = parse_url($url, PHP_URL_QUERY); $query = $query ? '?' . $query : ''; $request = "GET $path$query HTTP/1.1 " . "Host: $host " . "Authorization: Bearer $access_token " . "Connection: Close "; $socket = stream_socket_client('tcp://' . $host . ':' . $port, $errno, $errstr, 30); fwrite($socket, $request); $response = ''; while (!feof($socket)) { $response .= fgets($socket, 4096); } fclose($socket); echo substr($response, strpos($response, " ") + 4);
Artikel ini memperkenalkan fungsi permintaan pelayan HTTP yang biasa digunakan file_get_contents(), curl_exec() dan stream_socket_client() fungsi dalam PHP dan menyediakan contoh yang berkaitan. Mengikut keperluan sebenar yang berbeza, pilih fungsi permintaan yang sesuai dengan anda dan gunakannya bersama-sama dengan parameter dan pilihan yang sepadan untuk menjadikan aplikasi web anda lebih cekap dan stabil.
Atas ialah kandungan terperinci Penjelasan terperinci tentang fungsi permintaan pelayan HTTP PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!