我正在使用最新稳定版的Ubuntu操作系统,结合Php和cUrl来获取一个远程的https页面,但是当达到超时时间后,curl_exec函数返回了false。显然,我正在使用以下这些设置:
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, 0);
使用Wireshark,看起来服务器在“客户端Hello”后没有回应。 一些奇怪的事实:
- 相同的Perl脚本在同一台机器上通过CLI运行
- 完全相同的代码在旧机器上正确运行
https
,并且没有遗漏s
?如果您尝试通过TCP端口初始化SSL连接以查找纯文本数据,则可能会出现此行为...我认为这不太可能是cURL的问题。您还可以尝试强制使用特定的SSL版本(CURLOPT_SSLVERSION
,从强制使用v3开始)。值得测试一下,看看是否可以使用cURL进行简单的HTTPS GET,例如到https://google.com/
。 - DaveRandom