已经在这里找到答案,谢谢老师!
这个二维码需要放到线上才可以看,有些不方便
在定义ch下面加上这一行就好了
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
去看看提升篇,里面有讲解
看具体errmsg先,应该是你没有把access_token放进url里面吧
基础和提高部分,由此函数。
public function http_curl($url,$type="get",$res="json",$arr=""){ //1.初始化curl $ch = curl_init(); //2.设置url的参数 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1); if($type == "post"){ curl_setopt($ch , CURLOPT_POST, 1); curl_setopt($ch , CURLOPT_POSTFIELDS, $arr); } curl_setopt($ch , CURLOPT_SSL_VERIFYPEER, false); //3.采集 $output = curl_exec($ch); //4.关闭curl if ($res == "json") { if( curl_errno($ch) ){ return curl_error($ch); }else{ return json_decode($output,true); } } else { //todo } curl_close($ch); }
/*
$url 接口url string
$type 请求类型 strin
$res 返回数据类型 string
$arr post请求参数 string
*/
public function http_curl($url,$type='get',$res='json',$arr=''){
//1.初始化curl
$ch=curl_init();
//2.设置curl的参数
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//判断是否为post请求
if($type == 'post'){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);
}
// 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//3.采集
$output=curl_exec($ch);
//4.关闭
curl_close($ch);
//如果为json格式转换
if($res == 'json'){
//如果产生错误
if(curl_errno($ch)){
//请求失败
return curl_error($ch);
}else{
//请求成功
return json_decode($output,true);
}
}
}
老师之前的代码参数不同
请参阅php官方文档 。
是的,我已解决
谢谢啊
xxxx99999999999999999999999
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx