我正在使用带有PHP(最新稳定的Ubuntu版本)的cUrl来获取远程https页面,并且curl_exec在达到超时后返回false.显然我正在使用theese设置:
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, 0);
使用wireshark,似乎服务器在“Client Hello”之后没有回答.
一些奇怪的事实:
>用perl编写的相同脚本由CLI在同一台机器上运行
>运行旧机器的完全相同的代码正常工作
提示?有人建议重新编译curl和openssl …我可以在开发机器上做,但生产服务器有同样的问题,为了便于维护,我想只保留原始数据包……
谢谢!
解决方法:
解决:
curl_setopt($soap_do,CURLOPT_SSLVERSION,3);