php h2,微信连接失败:一直返回h2Moved/h2 (终于搞定了)
这几天都OK的,可以正常访问,统计数据上只出现过一次访问失败,但是平均耗时增加了30%
估计是上次那个心脏滴血事件后,腾讯要求停用SSLv3,必须用TLSv1,但是之前一直没有停止SSLv3的支持,现在真停了
因为这部分代码以前没动过,一直好好的,突然就挂了
加了
curl_setopt($curl,CURLOPT_CAINFO,$this->config->cacert); 后就OK了,但是一直会出现CURL_SSLVERSION_TLSv1没有定义,因为后面还得加:curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
修改后的wechatapi.class.php的get和post方法:
/**
* Make a http get request and fetch the contents.
*
* @param string $url
* @access public
* @return string
*/
public function get($url)
{
if(!function_exists('curl_init')) die('I can\'t fetch anything, please set allow_url_fopen to ture or install curl extension');
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
if(isset($this->config->cacert)) {
curl_setopt($curl,CURLOPT_CAINFO,$this->config->cacert);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
// curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
curl_setopt($curl, CURLOPT_SSLVERSION, 1);
}else {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
/**
* Make a http post request.
*
* @param string $url
* @param string $data
* @access public
* @return void
*/
public function post($url, $data)
{
if(!function_exists('curl_init')) die('I can\'t do post action without curl extension.');
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
if(isset($this->config->cacert)) {
curl_setopt($curl,CURLOPT_CAINFO,$this->config->cacert);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_SSLVERSION, 1);
}else {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
其中那个$config->cacert是个变量:
$config->cacert='D:\php\tools\https-ca\ca-bundle.crt';
php h2,微信连接失败:一直返回h2Moved/h2 (终于搞定了)相关推荐
- 成功解决最新版腾讯QQ软件出现的二维码加载失败,请点击刷新(一步搞定!)
成功解决最新版腾讯QQ软件出现的二维码加载失败,请点击刷新(一步搞定!) 目录 解决问题 解决思路 解决方法 解决问题 最新版腾讯QQ软件出现的二维码加载失败,请点击刷新 解决思路 二维码灰色,无法扫 ...
- 魅族微信无法连接到服务器,原来魅族手机要搞定这几个设置,微信才会更好用!...
原标题:原来魅族手机要搞定这几个设置,微信才会更好用! 微信如今是一家独大,超越了QQ成为最受欢迎的聊天软件.分析师今年也是刚刚毕业,而几乎工作室里之间相互联系什么的,都是通过微信.这里也涉及到另一个 ...
- 终于搞定微信小程序canvas分享海报
canvas drawer 做微信小程序中最好用的 canvas 绘图组件之一. 当前环境下,大家都非常需要分享到朋友圈这个功能,但是实现起来各有心酸(坑比较多),所以才有了如下的 canvas 绘图 ...
- php微信sdk接口文档,php一个文件搞定微信jssdk配置
学习PHP的小伙伴在处理微信jssdk配置的时候可能会遇到一些问题.以下是百分网小编精心为大家整理的php一个文件搞定微信jssdk配置,希望对大家有所帮助!更多内容请关注应届毕业生网! 包括缓存,包 ...
- hikaricp 连接池分析_数据库连接池终于搞对了,这次直接从100ms优化到3ms!
我在研究HikariCP(一个数据库连接池)时无意间在HikariCP的Github wiki上看到了一篇文章(即前面给出的链接),这篇文章有力地消除了我一直以来的疑虑,看完之后感觉神清气爽.故在此做 ...
- 笔记本电脑连接打印机_傻瓜操作,轻松搞定工作中各种打印难题,兄弟激光打印机开箱体验...
开工后,老板说要提高下工作效率,决定更新一批设备,首当其冲的就是打印机.老板说,要求不多,就这么几点:连接方便,因为公司很多工位没有网线,要能无线连接的:还有就是打印的速度要够快:当然,双面打印也必不 ...
- win10更新不动_Win10更新总失败?学会这三招搞定它
科技联盟号 科技·数码·游戏·手机·互联网 经常有用户碰到过这样的问题,win10总是频繁提示更新,但是一更新又会失败,如此反复陷入死循环,也是挺尴尬的.如果你也遇到了这样的问题,那么就让小编来给你献 ...
- dos命令行设置网络优先级_笔记本网络连接图标不见了?一招搞定!
点击蓝字 关注我们 首先检查网卡是否正常工作,你只要,反过来,单击开始-设置-命令,控制面板上的控制面板窗口中,双击系统图标,系统弹出窗口属性设置,打开"硬件"选项卡,再点击&qu ...
- 登录界面的滑动_电脑同时登录两个微信,原来这么简单?3步搞定!
关注我?发送[模板],送海量精选 PPT 模板! 作者:小斯 策划:视频小分队 编辑:小胖 Hey hey,what's up? what's up! 这里是小斯,AKA差一点玩转PPT,也要给你分享 ...
最新文章
- sublime 安装插件GitGutter报错,git binary cannot be found等等
- SAP固定资产的几个关键日期
- 34岁回顾人生,也怕中年危机!
- JS 循环遍历 总结
- 工作289:js取整
- 读这样的文章才能清楚什么是RIA
- Java学习之json篇——json介绍
- keil删除工程_安装及卸载keil5
- 2018软科世界一流学科排名发布! ”计算机科学与工程“学科表现如何?
- 机器学习基础教程——最小二乘法案列
- 2022中国汽车测试及质量监控博览会邀请函
- yahoo.cn邮箱foxmail收发攻略
- 1060 5G/1065 版显卡安装TensorFlow/CUDA
- STM32CubeMX 创建CustomHID设备
- 状压dp(python)蓝桥杯补给
- kettle入门(二) 之 kettle连接oracle报的坑爹错误 Error occured while trying to connect to the database 的几种情况
- 白话——海明校验码及编码过程
- 全宇宙第一编辑器VS Code搭配Markdown打造云端笔记(一)
- 【IDEA git commit 导航窗口取消对log类文件的 add 操作】
- Kafka知识体系总结【附大厂高频面试题】
热门文章
- unzip不能解压mysql的zip_Linux中zip压缩和unzip解压缩命令详解
- linux设置默认的首页文件,Linux 设置Firefox主页
- zbrush常用笔刷_ZBrush中常用笔刷综合简介
- 【RS码1】系统RS码编码原理及MATLAB实现(不使用MATLAB库函数)
- C语言实用算法系列之学生管理系统_对整个结构体操作_冒泡排序_提取排序规则
- 自动,MySQL触发器,完整详细可收藏
- 计算机图形学结课论文,计算机图形学结课论文精要.doc
- python冒泡排序函数_python冒泡排序-Python,冒泡排序
- Python学习笔记(随机数)
- ASP.NET伪静态-无法读取配置文件,因为它超过了最大文件大小的解决办法