原文章地址在这里

这个问题是file_get_contents不能获取https的内容引起的。这样的情况下,我们一般会采用curl拓展来模拟请求。

代码demo(当然这是错误的示范):

function get_url_content($url){
$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);
$result=curl_exec($ch);
return $result;
}

但是这个代码中有些问题,假如我们想访问https的内容的话,我们必须开启这两项验证

CURLOPT_SSL_VERIFYPEER
CURLOPT_SSL_VERIFYHOST
function get_url_content($url){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result=curl_exec($ch);
return $result;
}

但是在获取用户信息的时候,Curl请求总是返回false,检查参数,什么都没错,为什么会返回false呢,最后实在想不通。

so 看到了这篇文章

php curl返回false填坑记-curl调用微信创建自定义菜单返回false

$url = ' https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$accessToken;

回头去检查我的代码,哎哟卧槽,还真是。就像那篇文章的大哥说的那样

总结:使用curl来请求数据时curl的url地址中的任何地方不能有空格存在,不然会返回一个你琢磨不透的false

最新文章

  1. VMware虚拟机无法ping通/分配虚拟IP/远程访问的问题的解决方案:
  2. 【收藏】Android AutoLayout全新的适配方式, 堪称适配终结者
  3. PHPCMS联动菜单的调用函数get_linkage方法详解
  4. PHP内存消耗
  5. Strider安装(Ubuntu)
  6. c++重载、覆盖和隐藏
  7. hdu 5073 Galaxy
  8. Ubuntu Server忘记密码后,单用户模式修改密码进去不了桌面的无奈
  9. C# inherit
  10. 拥抱.NET Core系列:MemoryCache 初识
  11. WScript与CScript的区别
  12. 20175234 2018-2019-2 《Java程序设计》第四周学习总结
  13. C# 8.0、.NET Framework 4.8与NET Standard 2.1的一个说明
  14. Spring的模块组成
  15. 使用NFS启动Tiny4412开发板根文件系统
  16. Zabbix添加自定义监控项(一)
  17. win10 切换网卡的bat
  18. 简单说说spring的事务机制,以及是如何管理的?
  19. 【链接】Eclipse的Debug调试技巧
  20. JSON中的安全问题

热门文章

  1. ubuntu安装svn
  2. Heap(堆)与Stack(栈)的区别详解
  3. 解决maven 引用JDK内部类编译错误 程序包:com.sun.xml.internal.bind.marshaller.CharacterEscapeHandler不存在
  4. es 启动报错 内存太小
  5. 使用Response下载(支持任何格式)
  6. meta 中的属性viewport
  7. VS---《在VS2010中 使用C++创建和使用DLL》(001)
  8. 牛客练习赛48 E 小w的矩阵前k大元素
  9. Comparing Sentence Similarity Methods
  10. 学习elasticsearch(一)linux环境搭建(3)——head插件安装