老师,我在调试获取token接口时,$wxResult为null
来源:9-8 API小程序测试工具
yyii
2018-01-06
$result = curl_get($this->wxLoginUrl);
这个$result得到的是false.
如果我把上面的参数,按下面的格式拼接,放在地址栏里,比如这样:https://api.weixin.qq.com/sns/jscode2session?appid=wxa38afa34787f56fb&secret=93e5c8a8a1e46bcb0d749d55ec12eeca&js_code=061dXT720pFvXF1Vo0420g2K720dXT79&grant_type=authorization_code
就能返回到正确的值。
{
session_key: "9LokXmxOc0qBDzfrMu87rA==",
expires_in: 7200,
openid: "odRAB0SOqiMudKgsgdH6q2hFuwe0"
}
调用的是curl_get方法是参考您的。
function curl_get($url, &$httpCode=0){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//不做证书校验,部署在linux环境下请改为true
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$file_contents = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// var_dump($url);
// var_dump($file_contents);
// exit;
curl_close($ch);
return $file_contents;
}
关于证书那一行,fasle,true 都试过了。还是返回为空。
如果把$url打印出来,贴在地址栏,能返回的。
但是$file_contents打印出来,就是false;
code码我在 工具里申请后,打印出来,没让它使用的。然后放在接口里调用。
//调用登录接口
wx.login({
success: function (res) {
var code = res.code;
console.log('code');
console.log(code);
retrun;
wx.request({
url: baseUrl + '/token/user',
data: {
code: code
},
现在学习就卡在这里了,老师请您看看好吗?谢谢。
2回答
-
理论上不应该这样。因为这是个线上应用,具体需要调试一下。你可以下载源代码 跑一下看看,不会有问题。
052018-03-11 -
yyii
提问者
2019-02-21
之前学习时遇到,好久没有学习了。又重新学习这里,又是这个问题。
本地还是不行,不知为什么,放在线上就可以。有同学知道原因吗?谢谢指点。
00
相似问题