[PHP] 使用guzzle发送异步的HTTP请求
程序员文章站
2022-06-15 11:53:23
PHP中请求一个HTTP服务,一般都是阻塞的, 如果有多个HTTP请求 , 需要串行的执行 , 一个接一个的请求 , 可以使用guzzle php这个类库来异步的同时发送多个HTTP请求 . 结果的响应时间取决于最长的那个请求的响应时间 测试代码如下: $client = new \GuzzleHt ......
php中请求一个http服务,一般都是阻塞的, 如果有多个http请求 , 需要串行的执行 , 一个接一个的请求 , 可以使用guzzle php这个类库来异步的同时发送多个http请求 .
结果的响应时间取决于最长的那个请求的响应时间
测试代码如下:
$client = new \guzzlehttp\client(); // 发送一个异步请求 $request = new \guzzlehttp\psr7\request('get', 'http://www.sopans.com'); $request2 = new \guzzlehttp\psr7\request('get', 'http://www.sopans.com/laruence'); $request3 = new \guzzlehttp\psr7\request('get', 'http://www.sopans.com/about'); $promise = $client->sendasync($request)->then(function ($response) { echo 111; }); $promise = $client->sendasync($request2)->then(function ($response)use($client,$request3) { $client->sendasync($request3)->then(function ($res){ echo 444; }); echo 222; }); echo 333; $promise->wait();
返回 333 111 444 222 , 先执行的下面的代码 , 后执行的请求响应地方的代码 , 达到异步的效果
安装使用composer
composer require guzzlehttp/guzzle
上一篇: 详解C++泛型装饰器
下一篇: 区块链技术 煤炭行业高质量发展的新动能
推荐阅读
-
iOS应用中发送HTTP的get请求以及HTTP异步请求的方法
-
python 使用 requests 模块发送http请求 的方法
-
PHP使用gearman进行异步的邮件或短信发送操作详解
-
Angular使用$http.jsonp发送跨站请求的方法
-
使用php的HTTP请求的库Requests实现美女图片墙
-
PHP的HTTP客户端Guzzle简单使用方法分析
-
PHP利用curl发送HTTP请求的实例代码
-
nodejs使用http模块发送get与post请求的方法示例
-
原生Ajax的使用(创建XMLHttpRequest对象、发送请求、GET 还是 POST、异步还是同步、处理后台返回的数据)
-
PHP使用Http Post请求发送Json对象数据代码解析