为什么file_get_contents可以在PHP Curl给出空白页面时获取远程数据?

时间:2015-06-17 12:28:47

标签: php curl file-get-contents

我正在尝试使用PHP Curl下载远程XML Feed,但PHP curl给了我空白页,而php函数file_get_contents可以获取内容。

我正在努力使php curl工作速度比file_get_contents快,并且可以设置多个额外选项。

我正在做这样的请求卷曲。

$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_VERBOSE,true);
$data = curl_exec($ch);
curl_close ($ch);

当我echo $data;时,我得到的是空白页

但如果我使用file_get_contents代替,那么我可以获得整个XML Feed,为什么会这样?

我尝试过设置

curl_setopt($ch, CURLOPT_HEADER, 1);

仍显示空白页

我甚至试过

error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('max_execution_time', 300); //300 seconds = 5 minutes

但是当我使用curl时,我会空白页

我正在使用

Windows Version: Windows XP SP3 32-bit
XAMPP Version: 1.8.2
# php -v
PHP 5.4.31 (cli) (built: Jul 23 2014 20:20:15)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

如何让PHP Curl给我数据而不是空白页。 ?

0 个答案:

没有答案