我正在自学一些基本的抓取,我发现有时我输入到我的代码中的 URL 会返回 404,这会弄乱我的所有其余代码。
所以我需要在代码顶部进行测试,以检查 URL 是否返回 404。
这似乎是一项非常简单的任务,但谷歌没有给我任何答案。我担心我在寻找错误的东西。
一个博客推荐我使用这个:
$valid = @fsockopen($url, 80, $errno, $errstr, 30);
然后测试看看 $valid 是否为空。
但我认为给我带来问题的 URL 上有一个重定向,所以 $valid 对于所有值都是空的。或者也许我做错了什么。
我还研究了一个“头部请求”,但我还没有找到任何我可以玩或尝试的实际代码示例。
建议?这和 curl 有什么关系?
原文由 bflora 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您使用的是 PHP 的
curl
绑定,您可以使用curl_getinfo
检查错误代码,如下所示: