2012-06-24 17 views
0

我想打开一个https网站,使用curl在php中。但我得到一个空白页。尽管当我检查时,我可以发现返回的httpcode是200.我可以使用浏览器打开相同的页面。由于主机名和certifcate中的名称不同,我放弃了ssl验证程序和ssl_verify主机。我想打开一个https网站,在php中使用curl。但我得到一个空白页

这里是我的代码的任何帮助将是非常有用

<?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); 
?> 

回答

2

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

+0

您好,感谢,但你可以请帮我,我怎么能得到我的当前浏览器的用户代理参数,我使用的Safari在Mac OSX上。 – Gaurav

+0

嗨,你能帮我一下,因为我能用同一个浏览器打开一个站点,所以用户如何嗅探是一个因素。 – Gaurav

+0

http://whatsmyuseragent.com/。取这个值并使用它来设置CURLOPT_USERAGENT。 –

0

设置此选项:

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
相关问题