起初,我直接用方倍工作室之前做微信接口调用时的http_request函数,发现能正常调用微信api的函数获取不了火星天气数据,
然后又尝试用file_get_contents,仍然不行

一直出的错就是ssl handshake timed out
明白问题一定在ssl上,但怎么解决是个大问题。
百度,google了各种方法都失败。
又尝试了各种ssl的配置,还是失败。

期间还有一个问题就是我自己的环境不行,导致一直没有找到正确的原因。走了很多弯路

后来找到一个网站,可以检测服务器的ssl版本。
网址为 https://www.ssllabs.com/ssltest/
通过检测,mars.nasa.gov 官网支持的ssl协议类型如下

TLS 1.3	No
TLS 1.2 Yes
TLS 1.1 No
TLS 1.0 No
SSL 3 No
SSL 2 No

只支持 TLS 1.2

又查到 其对应的数字是 6

CURL_SSLVERSION_DEFAULT ()
CURL_SSLVERSION_TLSv1 ()
CURL_SSLVERSION_SSLv2 ()
CURL_SSLVERSION_SSLv3 ()
CURL_SSLVERSION_TLSv1_0 ()
CURL_SSLVERSION_TLSv1_1 ()
CURL_SSLVERSION_TLSv1_2 ()

于是配置成 curl_setopt($ch, CURLOPT_SSLVERSION, 6)

在本地环境,新浪云和阿里云上成功了。

php版本5.3也可以,推荐本地的openssl版本太低导致不支持导致。

CURL SSL为6的由来的更多相关文章

  1. 执行curl -sSL 提示curl: (35) SSL connect error

    今天,添加容器节点报错,执行如下 curl -sSL https://shipyard-project.com/deploy| ACTION=node DISCOVERY=etcd://192.168 ...

  2. php下curl ssl常用问题

    1. 查看curl版本 在phpinfo中,可以查看 curl cURL support enabled cURL Information 7.35.0 Age 3 Features AsynchDN ...

  3. Centos curl ssl 替换 NSS 为 OpenSSL

    参考:https://www.latoooo.com/xia_zhe_teng/368.htm 我的系统版本是 Centos 7 64位.为了方便,先安装常用的开发环境. yum groupinsta ...

  4. windows curl ssl版本号编译

    编译curl-ssl版本号碰到非常多坑,这里记录一下.亲手測试,注意版本号号!! ! !. 1.下载  curl-7.43.0  libssh2-1.3.0  openssl-1.0.0s   Act ...

  5. curl:出现SSL错误提示

    在上一篇博文中,升级ruby版本中,提示如下错误: 1) Error fetching https://mirrors.aliyun.com/rubygems/: [root@web ~]# gem ...

  6. curl 错误总结

    证书域名与访问的域名不一致 问题:curl SSL: certificate subject name 'luffichen_server.tencent.com' does not match ta ...

  7. Linux必知必会--curl

    你有多自律,你就能走多远~ --久节奏.慢读书 Curl命令 学习每个linux命令都该掌握man命令.(可以使用man命令去查看每个命令的使用说明) curl命令是一个利用URL规则在命令行下工作的 ...

  8. Docker Compose + Traefik v2 快速安装, 自动申请SSL证书 http转https 初次尝试

    前言 昨晚闲得无聊睡不着觉,拿起服务器尝试部署了一下Docker + Traefik v2.1.6 ,以下是一些配置的总结,初次接触,大佬勿喷. 我的系统环境是 Ubuntu 18.04.3 LTS ...

  9. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

随机推荐

  1. yml 字典列表

    观察: --- # 一位职工记录 name: Example Developer job: Developer skill: Elite employed: True foods: - Apple - ...

  2. tesseract-ocr 开源引擎使用

    国内资料比较少 一搜一大堆一样的 你抄我我抄你 前面怎么下载 怎么安装 怎么使用命令 怎么配中文字体 . 跳过.随便搜搜一大堆 科普下说下 box编辑工具  无论怎么搜jTessBoxEditor ( ...

  3. HTML5 下拉控件绑定数据

    <select id="CommunityList" class="form-control" > <option>請選擇社團</ ...

  4. C# vb .NET读取识别条形码线性条码CODE93

    code93是比较常见的条形码编码规则类型的一种.如何在C#,vb等.NET平台语言里实现快速准确读取该类型条形码呢?答案是使用SharpBarcode! SharpBarcode是C#快速高效.准确 ...

  5. Winform c# 多线程处理实例

    我们在用C# 开发程序时,经常会使用的多线程,实现多任务的处理.一般常用的方法是新建多个线程,进行处理. 今天我分享一个采用线程池的方式来实现的实例.对有需要的朋友做个借鉴. 实例: Winform ...

  6. C# Socket服务器及多客户端连接示例

    服务端代码[控制台示例] static List<Socket> Sockets = new List<Socket>(); static void Main(string[] ...

  7. 在centos下安装rar解压.rar压缩包

    CentOS本身不自带rar环境,因此对于rar文件无法直接解压,需要先配置rar环境. 首先需要确定自己的系统是64位还是32位的,通过这个命令: [root@localhost]# uname - ...

  8. Android源码分析(十七)----init.rc文件添加脚本代码

    一:init.rc文件修改 开机后运行一次: chmod 777 /system/bin/bt_config.sh service bt_config /system/bin/bt_config.sh ...

  9. Linux使用svn在github上下载部分文件(单个文件夹)

    1.安装svn sudo apt-get update sudo apt-get install subversion 2.输入命令 svn checkout (url) 这里url是github上要 ...

  10. JavaScript中数组去重汇总

    1. 简单的去重方法,利用数组的indexOf下标属性来查询 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ func ...