我正在使用php和curl创建网页抓取。我看,如果http响应的状态代码是3xx,curl仍然会下载正文内容。如果身体内容很小我认为这没问题,但在我的情况下,有3xx页面和巨大的身体内容。我只是想在没有获得正文内容的情况下立即重定向3xx。怎么做?
答案 0 :(得分:0)
首先,您需要to tell it,只有少于4xx的状态才是好的。
$handle = curl_init();
curl_setopt($handle, CURLOPT_FAILONERROR, true);
CURLOPT_FAILONERROR
如果返回的HTTP代码是静默失败,则为TRUE 大于或等于400.默认行为是返回 页面正常,忽略代码。
其次,对于3xx错误,您需要遵循重定向。请参阅CURLOPT_FOLLOWLOCATION
和CURLOPT_MAXREDIRS
。