【发布时间】:2010-09-19 15:49:48
【问题描述】:
给定一个 url 列表,我想检查每个 url:
- 返回 200 OK 状态码
- 在 X 时间内返回响应
最终目标是一个能够将网址标记为可能已损坏的系统,以便管理员可以查看它们。
脚本将用 PHP 编写,并且很可能每天通过 cron 运行。
该脚本一次将处理大约 1000 个网址。
问题分为两部分:
- 这样的操作有什么大问题吗?您遇到了什么问题?
- 考虑到准确性和性能,在 PHP 中检查 url 状态的最佳方法是什么?
【问题讨论】:
-
200 并不是唯一好的代码。 3xx 代码意味着重定向,在许多情况下,您想要的页面就是您被带到的地方(但不能保证)。 401 也不一定是“坏”,但它不是 200。
-
您应该注意不要连续锤击同一个网站或the owner might get upset。也许对列表进行排序,对于来自同一站点的多个 URL,在下一个请求之前会产生某种类型的延迟(或者转到另一个站点,稍后再返回该站点)。