已经在这里找到答案,谢谢老师!
这个二维码需要放到线上才可以看,有些不方便
那你换个浏览器不就得了。。。
在定义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 public function httpCurl($url,$data){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // curl_setopt($ch, CURLOPT_HTTPHEADER, array( // 'Content-Type: application/json; charset=utf-8', // "Accept: application/json", // "Content-length: ".strlen($data) // )); $rtn = curl_exec($ch); if(curl_errno($ch)){ echo 'curl error: '.curl_error($ch);die; } curl_close($ch); return $rtn; }
自己动手解决吧,如此解决了
请参阅php官方文档 。
临时二维码的action_name=QR_SCENE
QR_LIMIT_SCENE是永久二维码
是的,我已解决
谢谢啊