Asynchrone GET-Anfragen in PHP
Das Erstellen asynchroner GET-Anfragen in PHP ermöglicht eine effiziente Kommunikation mit externen Skripten, ohne den Hauptthread zu blockieren.
Verwenden file_get_contents()
Für GET-Anfragen, bei denen die Ausgabe nicht erforderlich ist, kann file_get_contents() verwendet werden:
$output = file_get_contents('http://www.example.com/');
Asynchrone Anfragen mit fsockopen()
Um asynchrone Anfragen zu stellen, ohne auf eine Antwort zu warten, können Sie verwenden fsockopen():
function make_async_get($url) { $parts = parse_url($url); $fp = fsockopen($parts['host'], isset($parts['port']) ? $parts['port'] : 80, $errno, $errstr, 30); $out = "GET ".$parts['path']." HTTP/1.1\r\n"; $out.= "Host: ".$parts['host']."\r\n"; $out.= "Connection: Close\r\n\r\n"; fwrite($fp, $out); fclose($fp); } make_async_get('http://www.externalsite.com/script1.php?variable=45');
In diesem Beispiel wird der Socket geöffnet, die GET-Anfrage gesendet und der Socket sofort geschlossen, ohne die Antwort zu lesen.
Hinweis: Wenn Sie die Ausgabe der GET-Anfrage benötigen, sollten Sie die Verwendung von curl_post_async() in Betracht ziehen, wie in der referenzierten Lösung gezeigt.
Das obige ist der detaillierte Inhalt vonWie kann ich asynchrone GET-Anfragen in PHP stellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!