0

我正在尝试在 php 中使用 curl 打开一个 https 站点。但是我得到一个空白页面。虽然当我检查时我发现返回的 httpcode 是 200。我可以使用浏览器打开同一页面。我已经禁用了 ssl 验证器和 ssl_verify 主机,因为主机名和证书中的名称不同。

这是我的代码,任何帮助都会有用

<?php
$url = "https://abcde.com/";
$ch = curl_init($url);
echo "init";
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 200);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERPWD,"uname:pwd");
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,1);
$curl_scraped_page= curl_exec($ch);
$httpCode=curl_getinfo($ch, CURLINFO_HTTP_CODE); 
if(!$curl_scraped_page)
{
    echo "first learn";
}
echo $httpCode ;
echo $curl_scraped_page;
curl_close($ch);
?>
4

2 回答 2

2

尝试使用 CURLOPT_USERAGENT 将用户代理设置为您的浏览器使用的相同。他们可能正在使用用户代理嗅探。

于 2012-06-24T05:10:17.787 回答
0

设置此选项:

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
于 2016-04-27T03:02:45.340 回答