【PHP】如何请求环信的接口
【摘要】
在请求一些接口直接使用的就是curl原生来请求的,今天我们就使用Guzzle来发起请求。
安装Guzzle
安装Guzzle的方法,在之前文章有写过。直接在composer安装列表里边搜索Guzzle,然后按照文档进行安装
封装请求代码
&...
在请求一些接口直接使用的就是curl原生来请求的,今天我们就使用Guzzle来发起请求。
安装Guzzle
安装Guzzle的方法,在之前文章有写过。直接在composer安装列表里边搜索Guzzle,然后按照文档进行安装
封装请求代码
安装完之后就会在vendor目录
像这些请求都是放在base.php的文件里边,作为基类
这两个事必须引入的,一个是http的客户端,一个是异常处理
那么下面这个request的方法就是用来请求环信的接口的方法
/**
* author:咔咔
*
* 功能请求
* @param $method
* @param array $params
* @param $options
* @return array|mixed
* @throws Error
*/
protected function _request($method, $url, $params = [], $options = [])
{
$client = new Client();
$header = [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
];
$token = $this->getToken();
$header['Authorization'] = "Bearer ${token}";
$data = ['connect_timeout' => 30, 'headers' => $header];
if ($method == 'GET') {
$data['query'] = $params;
} else {
$data['json'] = $params;
}
$options && $data = array_merge($data, $options);
$body = [];
try {
$res = $client->request($method, $url, $data);
$body = \GuzzleHttp\json_decode($res->getBody()->getContents(), true);
} catch (RequestException $e) {
$info = \GuzzleHttp\json_decode($e->getResponse()->getBody()->getContents(), 1);
throw new Error($info['error'], -1);
}
return $body;
}
在这个方法中127行中,里边可以带一个参数也就是基础的请求url
baseUrl()这个方法就是一个基础的url拼成的
然后我们在看一下Guzzle的文档就可以很清晰的看到他的实现方式,就是这个baseUrl()就是一个基础的请求地址,然后根据我们传递的接口地址在拼接上基础地址就是直接发起请求
文章来源: blog.csdn.net,作者:咔咔-,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/fangkang7/article/details/102622997
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)