我正在尝试从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
,那就有效了。我不知道这背后的原因是什么。
答案 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而不是其工作正常来解决这个问题。在这背后我不知道