CURL FOLLOWLOCATION没有显示

时间:2012-06-16 08:01:51

标签: php curl

当我向CURL初始化函数添加参数时:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

它会打印我正在发送请求的网站内容,问题是我想手动解析返回的内容($response = curl_exec($ch);),但问题是,该网站正在显示网页内容和我希望在我的$response变量上保留网站内容,以便我可以解析它,但同时,阻止它显示它。

这可行吗?

卷曲代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $action);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, '');
curl_setopt($ch, CURLOPT_COOKIEFILE, '');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$response = curl_exec($ch);
curl_close($ch);

1 个答案:

答案 0 :(得分:2)

您应该将CURLOPT_RETURNTRANSFER标志设置为true。来自PHP.NET手册

  

CURLOPT_RETURNTRANSFER TRUE

     

要将转移作为 curl_exec() 的返回值的字符串返回,而不是直接输出

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);