执行https请求时出错

时间:2014-01-24 07:30:30

标签: php curl https

我正在尝试从https获取xml数据。当我使用curl执行或解析此请求时,需要花费很多时间。

$url = 'https://www.iformbuilder.com/exzact/dataXML.php?';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
$result = curl_exec($ch);
curl_close($ch);
$File = "data.xml"; 
$Handle = fopen($File, 'w');
fwrite($Handle, $result); 
fclose($Handle); 

如果我写http而不是https,那就有效了。我不知道这背后的原因是什么。

2 个答案:

答案 0 :(得分:0)

尝试使用以下选项:

    CURLOPT_USERAGENT       => 'Mozilla/5.0',
    CURLOPT_COOKIEFILE      => 'fb.tmp',
    CURLOPT_COOKIEJAR       => 'fb.tmp',
    CURLOPT_FOLLOWLOCATION  => 1,
    CURLOPT_RETURNTRANSFER  => 1,
    CURLOPT_SSL_VERIFYHOST  => 0,
    CURLOPT_SSL_VERIFYPEER  => 0,
    CURLOPT_TIMEOUT         => 60

您只使用其中一个SSl操作。

答案 1 :(得分:0)

我通过在URL中编写http代替https而不是其工作正常来解决这个问题。在这背后我不知道

相关问题