我有一个脚本可以抓取来自第三方网站的内容,如果找不到网址,网站会将302标题位置重定向到自定义未找到的网页,而不是发送未找到的404。该脚本还缓存curl_exec返回的内容,但我不想缓存错误页面,如果我打开了CURLOPT_FOLLOWLOCATION,有没有办法记录这些重定向?我该如何解决这种情况?我知道我可以使用dom解析器找到错误消息,如果发现只是丢弃它,但我想知道是否有其他方法可以实现这一点。
答案 0 :(得分:0)
查看Easy way to test a URL for 404 in PHP?
然后使用它,如果有404
,就不要缓存页面答案 1 :(得分:0)
见这里:
http://www.php.net/manual/en/function.curl-getinfo.php
这提供了这样的数据。此功能内置于此类中:
http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading
答案 2 :(得分:0)
我最终禁用了followlocation所以我只需要捕获302代码,如果它存在,我不会缓存页面。以为在卷曲重定向之前会有一种方法来捕获所有代码。