PHP CURL HTTPS问题

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (356)

访问大量的https网站以下载页面,特别是文件,我遇到了很大的问题。

我在这个问题上对互联网进行了多次搜索,其中大部分都说同样的事情:

使用以下内容:

curl_setopt($ch, CURLOPT_SSLVERSION,3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);

但这似乎对我没用。

我也尝试过下载SSL证书,但这也无济于事。我已经将我的curl lib升级到最新版本,因为据我所知,这可能会导致问题。

我使用的是PHP5,我不能选择升级它。

以下是我的代码示例以及我尝试访问的其中一个网址:

<?php
$file_source="https://www.faa.gov/"
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $file_source);
curl_setopt($ch, CURLOPT_REFERER,  $file_source);
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_SSLVERSION,3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
$data = curl_exec ($ch);
$error = curl_error($ch); 
curl_close ($ch);
?>

任何人都可以帮忙,因为我正在撕裂我的头发。

提问于
用户回答回答于

这对我来说很好:

$fullurl="https://www.faa.gov/";

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_FAILONERROR, 0);

curl_setopt($ch, CURLOPT_URL, $fullurl);

$returned = curl_exec($ch);
var_dump($returned);
curl_close ($ch);

扫码关注云+社区

领取腾讯云代金券