执行 HTTP 请求和检查 404 的最快方法是什么?
What is the fastest way to perform a HTTP request and check for 404?
最近我需要检查服务器上是否存在大量文件名列表。我通过 运行 一个 for
循环来尝试 wget
每个文件。这足够有效,但在这种情况下需要大约 30 分钟。我想知道是否有更快的方法来检查文件是否存在(因为 wget 用于下载文件而不是执行数千个请求)。
我不知道该信息是否相关,但它是一个 Apache 服务器。
Curl 将是 for 循环中的最佳选择,这里是一种直接简单的方法,运行 这在您的 forloop 中
curl -I --silent http://www.yoururl/linktodetect | grep -m 1 -c 404
这只是检查 http 响应 header 在 link 上是否有 404 returned,如果它被检测为缺失 file/link 则抛出 404然后命令行输出将显示数字 1;否则,如果 file/link 有效且 return 不是 404,则命令行输出将显示数字 0.
最近我需要检查服务器上是否存在大量文件名列表。我通过 运行 一个 for
循环来尝试 wget
每个文件。这足够有效,但在这种情况下需要大约 30 分钟。我想知道是否有更快的方法来检查文件是否存在(因为 wget 用于下载文件而不是执行数千个请求)。
我不知道该信息是否相关,但它是一个 Apache 服务器。
Curl 将是 for 循环中的最佳选择,这里是一种直接简单的方法,运行 这在您的 forloop 中
curl -I --silent http://www.yoururl/linktodetect | grep -m 1 -c 404
这只是检查 http 响应 header 在 link 上是否有 404 returned,如果它被检测为缺失 file/link 则抛出 404然后命令行输出将显示数字 1;否则,如果 file/link 有效且 return 不是 404,则命令行输出将显示数字 0.