当我向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);
答案 0 :(得分:2)
您应该将CURLOPT_RETURNTRANSFER
标志设置为true。来自PHP.NET手册
CURLOPT_RETURNTRANSFER
TRUE
要将转移作为
curl_exec()
的返回值的字符串返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);