PHP Curl扩展Guzzle

释放双眼,带上耳机,听听看~!

PHP Curl扩展Guzzle插图

简介:

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的 GuzzleHttpClientInterface 对象来发送请求。

创建客户端

use GuzzleHttpClient;

$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 GuzzleHttpClient;
use GuzzleHttpCookieCookieJar;

$client = new GuzzleHttpClient([
	'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-

文章来源于互联网:PHP Curl扩展Guzzle

人已赞赏
PHP学习笔记杂七杂八

ThinkPHP5跨控制器调用

2020-11-17 11:09:08

PHP学习笔记杂七杂八

PHP 自定义方法 JSON数据格式美化

2020-11-17 11:09:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索