【问题标题】:URL 404 Checker for bash用于 bash 的 URL 404 检查器
【发布时间】:2016-12-12 20:49:48
【问题描述】:

我想编写一些我可以在 bash 中运行的代码,它采用 URL 列表并检查它们是否返回 404。如果站点没有返回 404,我需要将 url 写入输出列表。

所以最后我应该有一个工作站点列表。 我不知道如何实现代码。 这看起来像是可以正常工作的东西?: How to check if a URL exists or returns 404 with Java?

【问题讨论】:

  • 类似: if curl --output /dev/null --silent --head --fail "list of url's" then "write to example.txt"

标签: bash http url header http-status-code-404


【解决方案1】:

您可以根据需要使用此代码并在其上进行构建:

#!/bin/bash

array=( "http://www.stackoverflow.com" "http://www.google.com" )

for url in "${array[@]}"
do
    if ! curl -s --head  --request GET ${url} | grep "404 Not Found" > /dev/null
    then
       echo "Output URL not returning 404 ${url}"
    fi
done

【讨论】:

  • 我只想补充一点,您可能不想在“404”上使用 grep。这可能会导致奇怪的边缘情况,例如当 404 在 curl 返回的 MD5 哈希中时。我建议grepping“404 Not Found”。除此之外,您的示例效果很好。
  • @aeskreis 我按照你的建议修改了 grep。感谢您的帮助。
【解决方案2】:

感谢您的帮助。我找到了一个名为 linkchecker 的 Linux 包。它完全符合我的要求。

【讨论】:

  • 很高兴我能以某种方式提供帮助。如果您不介意,请检查我的回答是否已接受。谢谢。
猜你喜欢
  • 2013-03-29
  • 1970-01-01
  • 2011-08-24
  • 2011-04-11
  • 2014-12-23
  • 1970-01-01
  • 2020-09-04
  • 2020-04-12
  • 2013-07-19
相关资源
最近更新 更多