最近在做一个微信自动登录,发起验证以后回调页面获取openid时 curl函数返回空。

$appid = "appid appid "; 

$secret = "secret "; 

$code = $_GET["code"]; 

$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';

//header("location:$get_token_url");

echo $get_token_url."<BR>";

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$get_token_url); 

curl_setopt($ch,CURLOPT_HEADER,0); 

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1 ); 

curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); 

$res = curl_exec($ch); 

echo "echo:".json_encode($res)."<br>";     //显示false

echo curl_multi_getcontent($ch)."<br>";   //空

curl_close($ch);                     

$json_obj = json_decode($res,true); 

//根据openid和access_token查询用户信息 

$access_token = $json_obj['access_token']; 

$openid = $json_obj['openid']; 

var_dump($res);                                                     //显示obj(false)

echo $openid;

结果curl无返回值,最终百度到一片文章  http://yanda.net.cn/articles/453  文章中提到

改成如下问题解决

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$get_token_url); ​

curl_setopt($ch,CURLOPT_HEADER,0); 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不验证证书

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1 ); 

curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); 

$res = curl_exec($ch); 

var_dump($res);  //有返回值

php使用curl访问https返回无结果的问题的更多相关文章

  1. php curl请求https 返回无结果|false|errno:35

    1 SSL: certificate subject name 'WMSvc-GWAMSERVER02' does not match target host name 把curl_setopt($c ...

  2. centos7内核升级及curl访问https证书过期处理

    centos7内核升级及curl访问https证书过期处理 先看下当前系统的linux内核版本 uname -r 3.10.0-229.el7.x86_64 升级步骤 1.rpm --import h ...

  3. 用curl访问HTTPS站点并登录(对HTTP返回的结果特别清楚)

    开发网站,少不了测试.现在的网站为了加强安全性,都启用了HTTPS协议.所谓HTTPS,也就是HTTP文本在SSL协议中传输.用curl命令行来测试HTTPS站点是个很有用的功能,写点脚本,就可以做功 ...

  4. 源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)

    最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题,  用   echo   phpinfo() ;  查看, 支持op ...

  5. 用curl访问HTTPS站点并登录

    开发网站,少不了测试.现在的网站为了加强安全性,都启用了HTTPS协议.所谓HTTPS,也就是HTTP文本在SSL协议中传输.用curl命令行来测试HTTPS站点是个很有用的功能,写点脚本,就可以做功 ...

  6. [PHP] curl访问https与CA证书问题

    CA证书,用来在调用HTTPS资源的时候,验证对方网站是否是CA颁布的证书,而不是自己随便生成的 curl命令1.需要下载CA证书 文件地址是 http://curl.haxx.se/ca/cacer ...

  7. 使用curl访问https

    在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具.然而在使用cr ...

  8. PHP CURL访问HTTPS使用详解

    三年前写过一篇<一个简陋的支持HTTPS的PHP CURL封装函数>,当时只是知其然不知其所以然,今天来详细梳理一下. https服务器post数据 代码如下 复制代码 function ...

  9. cURL 学习笔记与总结(5)用 cURL 访问 HTTPS 资源

    <?php $curlobj = curl_init(); // 初始化 curl_setopt($curlobj, CURLOPT_URL, "https://ajax.aspnet ...

随机推荐

  1. Codeforces 1167E(思路、数据处理)

    思路 不难想到枚举\(l\),那如何高效求出最小的\(r\)?这样答案加上\(x-r+1\)即可. 如果\(l\)并没在序列里出现--没啥想法:如果\(l\)是序列里的数,我们可以做的事情是记下每个数 ...

  2. 使用cp命令拷贝目录下指定文件外的其他文件

    shopt -s extglob cp test/!(abc*) test2/ cp test目录下除了以abc开头的其他文件 如果是除去多个文件的话使用   !(a|b)   ;   注意不要多加空 ...

  3. mongodb 分片技术

    MongoDB Sharding Cluster 分片集群 规划:10个实例:38017-38026 (1)configserver:3台构成的复制集(1主两从,不支持arbiter)38018-38 ...

  4. (转)Centos 7.3 用户和组管理

    Centos 7.3 用户和组管理 原文:http://blog.csdn.net/github_39069288/article/details/73306489 3.1 用户和密码配置文件 pas ...

  5. JS正则改变字符之间文字

    var reg = /([[^[]*])/g; html = html.replace(reg, "<span class=\"bold\">$1</s ...

  6. Ionic开发-常用命令

      $ionic start myApp [tabs | sidemenu | blank] $ionic platform add android $ionic build android $ion ...

  7. 天上掉馅饼 期望DP

    C 天上掉馅饼文件名 输入文件 输出文件 时间限制 空间限制bonus.pas/c/cpp bonus.in bonus.out 1s 128MB题目描述小 G 进入了一个神奇的世界,在这个世界,天上 ...

  8. MySQL 查看表大小

    当遇到数据库占用空间很大的情况下,可以用以下语句查找大数据量的表 SELECT TABLE_NAME ,),) 'DATA_SIZE(M)' ,),) 'INDEX_SIZE(M)' ,AVG_ROW ...

  9. Java定时器Timer,TimerTask每隔一段时间随机生成数字

    1:java.util.Timer类是一种工具,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行. 2:TimerTask类是由 Timer 安排为一次执行或重复执行的任务 ...

  10. uvm_reg_cbs——寄存器模型(十六)

    当你完成寄存器模型的时候,你就会想到给后来的人一个接口,给他更多的扩展,让他做更多的事,一般而言,只有做VIP时,会想到做callbacks. typedef class uvm_reg; typed ...