简介:
Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。
特点:
- 接口简单:构建查询语句、POST请求、分流上传下载大文件、使用HTTP cookies、上传JSON数据等等。
- 发送同步或异步的请求均使用相同的接口。
- 使用PSR-7接口来请求、响应、分流,允许你使用其他兼容的PSR-7类库与Guzzle共同开发。
- 抽象了底层的HTTP传输,允许你改变环境以及其他的代码,如:对cURL与PHP的流或socket并非重度依赖,非阻塞事件循环。
- 中间件系统允许你创建构成客户端行为。
下载及使用:
推荐使用 Composer 安装Guzzle,Composer是PHP的依赖管理工具,允许你在项目中声明依赖关系,并安装这些依赖。
# 安装 Composer curl -sS https://getcomposer.org/installer | php
你可以使用composer.phar客户端将Guzzle作为依赖添加到项目:
php composer.phar require guzzlehttp/guzzle:~6.0
发送请求
可以使用Guzzle的 GuzzleHttp\ClientInterface 对象来发送请求。
创建客户端
use GuzzleHttp\Client; $client = new Client([ // Base URI is used with relative requests 'base_uri' => 'http://httpbin.org', // You can set any number of default request options. 'timeout' => 2.0, ]);
Client对象的方法可以很容易的发送请求:
$response = $client->get('http://httpbin.org/get'); $response = $client->delete('http://httpbin.org/delete'); $response = $client->head('http://httpbin.org/get'); $response = $client->options('http://httpbin.org/get'); $response = $client->patch('http://httpbin.org/patch'); $response = $client->post('http://httpbin.org/post'); $response = $client->put('http://httpbin.org/put');
异步请求:
$promise = $client->getAsync('http://httpbin.org/get'); $promise = $client->deleteAsync('http://httpbin.org/delete'); $promise = $client->headAsync('http://httpbin.org/get'); $promise = $client->optionsAsync('http://httpbin.org/get'); $promise = $client->patchAsync('http://httpbin.org/patch'); $promise = $client->postAsync('http://httpbin.org/post'); $promise = $client->putAsync('http://httpbin.org/put');
带cookie访问的使用示例
use GuzzleHttp\Client; use GuzzleHttp\Cookie\CookieJar; $client = new \GuzzleHttp\Client([ 'cookies' => true, 'verify' => false //关闭验证 ]); $cookieJar = CookieJar::fromArray([ 'cookie参数' => 'value', 'cookie参数' => 'value', 'cookie参数' => 'value', 'cookie参数' => 'value', 'cookie参数' => 'value', ], 'www.xxx.com'); $res = $client->request('GET', 'https://www.xxx.com', [ 'cookies' => $cookieJar, ])->getBody()->getContents();
官方手册 : 点击访问
-End-
1 Comment
哇哈哈哈