记录一个微信网页授权中不小心踩到的坑(Curl请求返回false)
2024-08-31 08:52:18
这个问题是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
最新文章
- VMware虚拟机无法ping通/分配虚拟IP/远程访问的问题的解决方案:
- 【收藏】Android AutoLayout全新的适配方式, 堪称适配终结者
- PHPCMS联动菜单的调用函数get_linkage方法详解
- PHP内存消耗
- Strider安装(Ubuntu)
- c++重载、覆盖和隐藏
- hdu 5073 Galaxy
- Ubuntu Server忘记密码后,单用户模式修改密码进去不了桌面的无奈
- C# inherit
- 拥抱.NET Core系列:MemoryCache 初识
- WScript与CScript的区别
- 20175234 2018-2019-2 《Java程序设计》第四周学习总结
- C# 8.0、.NET Framework 4.8与NET Standard 2.1的一个说明
- Spring的模块组成
- 使用NFS启动Tiny4412开发板根文件系统
- Zabbix添加自定义监控项(一)
- win10 切换网卡的bat
- 简单说说spring的事务机制,以及是如何管理的?
- 【链接】Eclipse的Debug调试技巧
- JSON中的安全问题
热门文章
- ubuntu安装svn
- Heap(堆)与Stack(栈)的区别详解
- 解决maven 引用JDK内部类编译错误 程序包:com.sun.xml.internal.bind.marshaller.CharacterEscapeHandler不存在
- es 启动报错 内存太小
- 使用Response下载(支持任何格式)
- meta 中的属性viewport
- VS---《在VS2010中 使用C++创建和使用DLL》(001)
- 牛客练习赛48 E 小w的矩阵前k大元素
- Comparing Sentence Similarity Methods
- 学习elasticsearch(一)linux环境搭建(3)——head插件安装