一、简介
Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。
- 接口简单:构建查询语句、POST请求、分流上传下载大文件、使用HTTP cookies、上传JSON数据等等。
- 发送同步或异步的请求均使用相同的接口。
- 使用PSR-7接口来请求、响应、分流,允许你使用其他兼容的PSR-7类库与Guzzle共同开发。
- 抽象了底层的HTTP传输,允许你改变环境以及其他的代码,如:对cURL与PHP的流或socket并非重度依赖,非阻塞事件循环。
- 中间件系统允许你创建构成客户端行为。
二、使用方法
1、 安装:
require guzzlehttp/guzzle:~6.0
或
"require": {
"guzzlehttp/guzzle": "~6.0"
}
}
2、使用:
// 新建client
$client = new Client([
'base_uri' => 'http://question.xuexi8.net',
'timeout' => 3.0,
]);
// 发送get请求
$client->request('GET', 'question/query', [
'query' => ['question_id' => 12345]
]);
//发送post请求
$client->request('POST', 'question/create', [
'form_params' => [
'type' => 'single_choice',
'score' => 2,
...
]
]);
获取响应:
$code = $response->getStatusCode(); // 200
$reason = $response->getReasonPhrase(); // OK
$header= $response->getHeaders()
$body = $response->getBody();