Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der HTTP-Serveranforderungsfunktion von PHP
Das HTTP-Protokoll ist eines der wichtigsten Protokolle in Webanwendungen. Es verwendet ein einfaches Anforderungs-Antwort-Modell zum Abrufen und Senden von Daten. Als beliebte Webentwicklungssprache bietet PHP viele HTTP-Serveranforderungsfunktionen, um Entwicklern die Interaktion mit Webservern zu erleichtern. In diesem Artikel wird die HTTP-Serveranforderungsfunktion in PHP ausführlich vorgestellt. Die Funktion „file_get_contents()“ ist die beliebteste Funktion in PHP zum Abrufen von Daten von Remote-Servern. Sie kann Datenströme wie HTTP, HTTPS, FTP, SFTP, SCP und Dateiströme erfassen und konvertieren es zu einer Zeichenfolge. Darüber hinaus bietet die Funktion optionale Parameter zum Festlegen von HTTP-Anforderungsheadern, Anforderungszeitlimits usw.
$url = 'http://www.example.com'; $response = file_get_contents($url, false, stream_context_create([ 'http' => [ 'method' => 'GET', 'header' => 'Authorization: Bearer ' . $access_token ] ])); echo $response;
curl_exec() ist eine weitere häufig verwendete PHP-Funktion zum Abrufen von Daten von einem Remote-Server. Sie verwendet die libcurl-Bibliothek, um die Netzwerkkommunikation zu implementieren. Im Vergleich zur Funktion file_get_contents() bietet die Funktion curl_exec() mehr Protokollunterstützung und erweiterte Funktionen, wie zum Beispiel: mehrere gleichzeitige Anforderungen, Anforderungsumleitung usw.
$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;
stream_socket_client()-Funktion kann einen TCP/IP- oder UNIX-Domänendatenstrom-Socket erstellen und eine Verbindung zum angegebenen Remote-Server herstellen. Im Gegensatz zu den Funktionen „curl_exec()“ und „file_get_contents()“ bietet die Funktion „stream_socket_client()“ mehr Low-Level-Funktionen und ermöglicht Ihnen eine detailliertere Steuerung von HTTP-Anfragen.
$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);
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der HTTP-Serveranforderungsfunktion von PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!