在本地开发环境(window)phpstudy请求企业微信的接口时
private function httpPost($url, $data = array())
{
$url = $this->host . '/' . $url;
$data_string = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json; charset=utf-8",
"Content-Length: " . strlen($data_string))
);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
$output = json_decode($output, true);
return $output;
}
$output = curl_exec($ch);返回居然是false

我们在curl_exec函数前面通过curl_error($curl)获取错误也是 string(0) "" 空字符串。

最后经过多番查询,原来请求的是https链接 ,ssl协议,加上这两句就可以。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);


本文介绍了一个在本地Windows环境下使用PHPStudy时遇到的问题,即通过cURL发送POST请求到企业微信API时返回false。文章详细解释了如何通过设置cURL选项CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST为false来解决由于SSL验证导致的问题。
361

被折叠的 条评论
为什么被折叠?



