Heim >Backend-Entwicklung >PHP-Tutorial >Wie mache ich asynchrone GET-Anfragen in PHP?

Wie mache ich asynchrone GET-Anfragen in PHP?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 19:50:11378Durchsuche

How to Make Asynchronous GET Requests in PHP?

Asynchrone GET-Anfrage in PHP

Das Erstellen einer asynchronen GET-Anfrage in PHP kann auf verschiedene Arten erfolgen. Eine einfache Methode ist die Verwendung der Funktion file_get_contents(). Um den Inhalt von einem externen Skript mit file_get_contents() abzurufen, geben Sie einfach die URL als Parameter an. Das Ergebnis kann zur weiteren Verarbeitung oder zum Echo in einer Variablen gespeichert werden.

$output = file_get_contents('http://www.example.com/');
echo $output;

Ein anderer Ansatz besteht darin, die GET-Anfrage mithilfe der Funktion „curl_post_async()“ abzufeuern, ohne auf eine Antwort zu warten. Diese Funktion öffnet einen Socket, sendet die Anfrage und schließt den Socket sofort, wodurch die Kontrolle über das Skript ohne Blockierung zurückgegeben wird.

function curl_post_async($url, $params)
{
    // ... code to parse the URL and prepare the request ...
    $fp = fsockopen($parts['host'],
        isset($parts['port'])?$parts['port']:80,
        $errno, $errstr, 30);

    $out = "POST ".$parts['path']." HTTP/1.1\r\n";
    $out.= "Host: ".$parts['host']."\r\n";
    // ... code to set up the request headers and body ...

    fwrite($fp, $out);
    fclose($fp);
}

Durch die Verwendung dieser Techniken können Sie sowohl synchrone als auch asynchrone GET-Anfragen in PHP stellen. So können Sie Anfragen senden, ohne die Ausführung des Skripts zu blockieren.

Das obige ist der detaillierte Inhalt vonWie mache ich asynchrone GET-Anfragen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn