1.post请求
$header = [
// 'Content-type' => 'application/json',
'X-Caller-Service' => $this->callerService,
'X-Caller-Timestamp' => $dateFormat,
'X-Caller-Sign' => $sign
];
$body = [
"memberType" => $this->memberType,
"channelType" => $this->channelType,
"currentPage" => 1,
"pageSize" => 2,
];
$client = new Client([
'base_uri' => $url,
'timeout' => 2.0,
'verify' =>false,
]);
$response = $client->request('post','',[
'headers' => $header,
'json' => $body
]);
echo ($response->getBody());
-
verify 为设置ssl
cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)"}} -
headers设置为数组格式
传统的为 $header =[‘Content-type: application/json’,… ] -
baseurl不管填写多少路径,最后只能解析为域名
所以两种方式解决:
1.baseurl写全部的,然后new client的url参数为空
2.baseurl写地址(http://www.baidu.com),然后new client的第二个参数把路径写全
get请求
$header = [
// 'Content-type' => 'application/json',
'X-Caller-Service' => $this->callerService,
'X-Caller-Timestamp' => $dateFormat,
'X-Caller-Sign' => $sign
];
$body = [
"memberType" => $this->memberType,
"channelType" => $this->channelType,
"projectId" => 50062,
];
$url = $url.'?'.http_build_query($body);
$client = new Client([
'base_uri' => $url,
'timeout' => 2.0,
'verify' =>false,
]);
$response = $client->request('get','',[
'headers' => $header,
'json' => $body
]);
echo ($response->getBody());die();