问答详情
源自:6-4 获取access_token和微信服务器ip地址_x264

获取,access_token,返NULL问题

虽然解决了,但是还是希望有更好的解决方案 ,获取,access_token,返回空问题

按照视频教程一模一样写,但是就是得不到access_token,返回NULL, 而且还不报错, 不报错的原因是:错误判断写在了curl_close下面.

if(curl_errno($ch)){

var_dump(curl_error($ch));

}

错误判断代码放到上面后,看到了报错内容,英文大意是:SSL证书问题

百度后,

一.有人提供了证书制作, 我制作好把它放在服务器windows->system32 中,但还是不行

二.设置更多setopt参数

curl_setopt_array(

$ch,

array(

                CURLOPT_URL => $url,        

                CURLOPT_REFERER => $url,

                CURLOPT_AUTOREFERER => true,

                CURLOPT_RETURNTRANSFER => true,

                CURLOPT_SSL_VERIFYPEER => false,

                CURLOPT_SSL_VERIFYHOST => false,

                CURLOPT_CONNECTTIMEOUT => 1,

                CURLOPT_TIMEOUT => 30,

                CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36'

)

);

第二种方法,解决了问题.获取到了access_token 

但是不想每次写这么多代码, 希望有更好的解决方案,谢谢!



提问者:无极山鬼谣 2015-10-26 22:25

个回答

  • 程序员渔夫
    2015-10-28 08:12:30

    1. 感觉不需要写这么多的setopt,可以贴一下你的完整带啊

    2. 如果用你的方法能实现,那么你可以封装成一个方法类似课程中的http_curl(),要用的使用直接调取,不用每次都去写

  • ImCEO
    2015-11-10 11:26:31

    要多看笔记呀,哈哈

    如果获取的token为null,不妨先看看curl_exec返回值是否为false。
    解决办法:跳过SSL证书检查。 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);