$url = "http://xxx.xxx.cn/xxx/xxx?startTime=2022-04-01 16:12:03&endTime=2022-04-14 16:12:03&deviceAddr=123456";
$header = [
'token:'.$token
];
$res = $this->httpCurl($url, [], $header);
get请求直接报HTTP Status 400 – Bad Request
,找了很久原因,开始以为是url太长什么的
但该来该去都是报错
后来才发现是因为url里面的时间原因
curl请求的时候是不允许一些特殊的字符的
所以参照一位博主的方法URL-encode
一下请求的url就可以了
$data = [
'startTime'=>$startTime,
'endTime'=>$endTime,
'deviceAddr'=>$deviceAddr,
];
$url = "http://xxx.xxx.cn/xxx/xxx?".http_build_query($data);
$header = [
'token:'.$token
];
$res = $this->httpCurl($url, [], $header);
httpCurl
就是我自己封装的普通的curl方法 data
中就是get请求中需要的三个参数
感谢
方法来自这里