Maison >développement back-end >tutoriel php >Comment puis-je effectuer des requêtes GET asynchrones en PHP ?

Comment puis-je effectuer des requêtes GET asynchrones en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-08 12:36:11352parcourir

How Can I Make Asynchronous GET Requests in PHP?

Requêtes GET asynchrones en PHP

Faire des requêtes GET asynchrones en PHP permet une communication efficace avec des scripts externes sans bloquer le thread principal.

Utilisation file_get_contents()

Pour les requêtes GET dont la sortie n'est pas requise, file_get_contents() peut être utilisée :

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

Requêtes asynchrones avec fsockopen()

Pour faire des requêtes asynchrones sans attendre de réponse, vous pouvez utiliser 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');

Dans cet exemple, le socket est ouvert, la requête GET est envoyée et le socket est immédiatement fermé sans lire la réponse.

Remarque : Si vous avez besoin du résultat de la requête GET, envisagez d'utiliser curl_post_async() comme indiqué dans la solution référencée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn