【发布时间】:2019-12-21 09:59:34
【问题描述】:
**我已经搜索了 stackoverflow 以及其他来源,不幸的是,即使我尝试了各种方法,我也没有完美的解决方案来解决这个问题,所以我的请求是帮助代码不共享任何链接**
我在 Windows 7 上使用 ZeroXIII - 13.3.2 这是我用于下载网页的 php Curl 函数
function gdllssl3($target_url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36');
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt ($ch, CURLOPT_CAINFO, "D:\cacert-2019-05-15.pem");
curl_setopt($ch, CURLOPT_SSLVERSION,4);
curl_setopt($ch, CURLOPT_TIMEOUT,10);
$html= curl_exec($ch);
if (!$html) {
echo "<br />cURL error number:" .curl_errno($ch);
echo "<br />cURL error:" . curl_error($ch);
}
return $html;
}
echo $url=gdllssl3('https://www.ratemyagent.com.au/real-estate-profile/sales/new-south-wales/agents');
它返回这个错误
cURL 错误编号:35 cURL 错误:错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败
使用从 Mozilla 提取的最新 CA 证书
【问题讨论】:
-
ServerHello TLS 消息发生在任何证书交换之前,因此问题与您使用的任何证书或 CA 无关。
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);这是非常糟糕并且不应该这样做。你打开自己的劫持攻击,基本上这使做 HTTPS (TLS) 的任何用处无效,你还不如做 HTTP。 -
通用评论:说“我已经搜索过......我没有完美的解决方案......即使我尝试了各种方式”绝对没有用(你可以编辑你的问题以删除它)不添加任何东西)。没有人可以知道您找到了哪些解决方案以及您到底测试了什么。相反,您应该清楚地说明您尝试过什么,获得了什么结果,以及您期望什么。像您一样的“通知”不会阻止人们判断您的问题与任何其他要求此错误的问题重复。