3,143
社区成员
发帖
与我相关
我的任务
分享
$code = $_GET["code"];
$appid = "xxxxxxxxxxxxxxx";
$secret = "xxxxxxxxxxxxxxxx";
if (!empty($code))
{
//通过code获得 access_token + openid
$url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
// $jsonResult = file_get_contents($url);
// print_r($jsonResult);
// 初始化一个 cURL 对象
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//这个是重点。
$data = curl_exec($curl);
curl_close($curl);
// 显示获得的数据
print_r($data);
以上,扫码的代码我就没贴出来了,code是可以拿取到的,直接打印url也是没问题的,打印出来的url在浏览器中输入也可以获取到json,但是只要一用file_get_contents或curl就扫码后页面显示无法访问此网站。找了两天还是找不出原因,请求大神帮助!
function http_get($url){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
return false;
}
}