这几天都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 (终于搞定了)相关推荐

  1. 成功解决最新版腾讯QQ软件出现的二维码加载失败,请点击刷新(一步搞定!)

    成功解决最新版腾讯QQ软件出现的二维码加载失败,请点击刷新(一步搞定!) 目录 解决问题 解决思路 解决方法 解决问题 最新版腾讯QQ软件出现的二维码加载失败,请点击刷新 解决思路 二维码灰色,无法扫 ...

  2. 魅族微信无法连接到服务器,原来魅族手机要搞定这几个设置,微信才会更好用!...

    原标题:原来魅族手机要搞定这几个设置,微信才会更好用! 微信如今是一家独大,超越了QQ成为最受欢迎的聊天软件.分析师今年也是刚刚毕业,而几乎工作室里之间相互联系什么的,都是通过微信.这里也涉及到另一个 ...

  3. 终于搞定微信小程序canvas分享海报

    canvas drawer 做微信小程序中最好用的 canvas 绘图组件之一. 当前环境下,大家都非常需要分享到朋友圈这个功能,但是实现起来各有心酸(坑比较多),所以才有了如下的 canvas 绘图 ...

  4. php微信sdk接口文档,php一个文件搞定微信jssdk配置

    学习PHP的小伙伴在处理微信jssdk配置的时候可能会遇到一些问题.以下是百分网小编精心为大家整理的php一个文件搞定微信jssdk配置,希望对大家有所帮助!更多内容请关注应届毕业生网! 包括缓存,包 ...

  5. hikaricp 连接池分析_数据库连接池终于搞对了,这次直接从100ms优化到3ms!

    我在研究HikariCP(一个数据库连接池)时无意间在HikariCP的Github wiki上看到了一篇文章(即前面给出的链接),这篇文章有力地消除了我一直以来的疑虑,看完之后感觉神清气爽.故在此做 ...

  6. 笔记本电脑连接打印机_傻瓜操作,轻松搞定工作中各种打印难题,兄弟激光打印机开箱体验...

    开工后,老板说要提高下工作效率,决定更新一批设备,首当其冲的就是打印机.老板说,要求不多,就这么几点:连接方便,因为公司很多工位没有网线,要能无线连接的:还有就是打印的速度要够快:当然,双面打印也必不 ...

  7. win10更新不动_Win10更新总失败?学会这三招搞定它

    科技联盟号 科技·数码·游戏·手机·互联网 经常有用户碰到过这样的问题,win10总是频繁提示更新,但是一更新又会失败,如此反复陷入死循环,也是挺尴尬的.如果你也遇到了这样的问题,那么就让小编来给你献 ...

  8. dos命令行设置网络优先级_笔记本网络连接图标不见了?一招搞定!

    点击蓝字 关注我们 首先检查网卡是否正常工作,你只要,反过来,单击开始-设置-命令,控制面板上的控制面板窗口中,双击系统图标,系统弹出窗口属性设置,打开"硬件"选项卡,再点击&qu ...

  9. 登录界面的滑动_电脑同时登录两个微信,原来这么简单?3步搞定!

    关注我?发送[模板],送海量精选 PPT 模板! 作者:小斯 策划:视频小分队 编辑:小胖 Hey hey,what's up? what's up! 这里是小斯,AKA差一点玩转PPT,也要给你分享 ...

最新文章

  1. sublime 安装插件GitGutter报错,git binary cannot be found等等
  2. SAP固定资产的几个关键日期
  3. 34岁回顾人生,也怕中年危机!
  4. JS 循环遍历 总结
  5. 工作289:js取整
  6. 读这样的文章才能清楚什么是RIA
  7. Java学习之json篇——json介绍
  8. keil删除工程_安装及卸载keil5
  9. 2018软科世界一流学科排名发布! ”计算机科学与工程“学科表现如何?
  10. 机器学习基础教程——最小二乘法案列
  11. 2022中国汽车测试及质量监控博览会邀请函
  12. yahoo.cn邮箱foxmail收发攻略
  13. 1060 5G/1065 版显卡安装TensorFlow/CUDA
  14. STM32CubeMX 创建CustomHID设备
  15. 状压dp(python)蓝桥杯补给
  16. kettle入门(二) 之 kettle连接oracle报的坑爹错误 Error occured while trying to connect to the database 的几种情况
  17. 白话——海明校验码及编码过程
  18. 全宇宙第一编辑器VS Code搭配Markdown打造云端笔记(一)
  19. 【IDEA git commit 导航窗口取消对log类文件的 add 操作】
  20. Kafka知识体系总结【附大厂高频面试题】

热门文章

  1. unzip不能解压mysql的zip_Linux中zip压缩和unzip解压缩命令详解
  2. linux设置默认的首页文件,Linux 设置Firefox主页
  3. zbrush常用笔刷_ZBrush中常用笔刷综合简介
  4. 【RS码1】系统RS码编码原理及MATLAB实现(不使用MATLAB库函数)
  5. C语言实用算法系列之学生管理系统_对整个结构体操作_冒泡排序_提取排序规则
  6. 自动,MySQL触发器,完整详细可收藏
  7. 计算机图形学结课论文,计算机图形学结课论文精要.doc
  8. python冒泡排序函数_python冒泡排序-Python,冒泡排序
  9. Python学习笔记(随机数)
  10. ASP.NET伪静态-无法读取配置文件,因为它超过了最大文件大小的解决办法