首页 >后端开发 >php教程 >如何在 PHP 中发出异步 GET 请求?

如何在 PHP 中发出异步 GET 请求?

Linda Hamilton
Linda Hamilton原创
2024-12-08 12:36:11355浏览

How Can I Make Asynchronous GET Requests in PHP?

PHP 中的异步 GET 请求

在 PHP 中发出异步 GET 请求可以与外部脚本进行高效通信,而不会阻塞主线程。

使用file_get_contents()

对于不需要输出的 GET 请求,可以使用 file_get_contents():

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

使用 fsockopen() 的异步请求

要发出异步请求而不等待响应,您可以使用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');

在此示例中,打开套接字,发送 GET 请求,然后立即关闭套接字,而不读取响应。

注意: 如果您需要 GET 请求的输出,请考虑使用curl_post_async(),如引用的解决方案中所示。

以上是如何在 PHP 中发出异步 GET 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn