我想制作一个程序,可以将一系列漫画扫描转换为一个pdf文件,并且我不想尝试下载图片以确定我是否拥有正确的网址。是否有shell脚本命令,我可以用它来检查网页是否存在?如何通过shell脚本确定网页是否存在?
回答
下一个* NIX,您可以用curl
发出一个简单的HEAD
请求(HEAD
只要求头,而不是页面正文):
curl --head http://myurl/
然后,你可以只需要第一线,包含HTTP状态代码(200 OK,404未找到,等):
curl -s --head http://myurl/ | head -n 1
再检查,如果你有一个体面的响应(状态码为200或3 **):
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].."
如果状态代码没问题,将输出第一行,如果不是,则输出第一行。您还可以通过管道将到/ dev/null来获得无输出,并使用$?
,以确定它是否工作或没有:
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].." > /dev/null
# on success (page exists), $? will be 0; on failure (page does not exist or
# is unreachable), $? will be 1
编辑-s
只是告诉curl
不显示“进度条”。
为了减少字符串解析并检查重定向到不存在的页面,可以使用'curl --silent --head --location --output/dev/null --write-out'%{http_code}' http://en.wikipedia.org/wiki/tla | grep'^ 2'' – bukzor 2013-08-16 16:39:18
使用--fail:http://stackoverflow.com/a/12199125/376366 – 2013-11-29 23:18:00
脚本可自动验证多个文件:https://gist.github.com/igilham/12eb33ab8a86f1e815d2 – IanGilham 2014-09-18 16:05:15
Pfff ...为什么downvotes(没有解释,介意你),如果答案是正确的,简要的和内容丰富的? – 2016-03-02 12:03:15
我没有投票,但如果我不得不猜测,这是因为只有URL的答案[不鼓励](https://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-链接别处 - 真的好 - 答案)。 – zneak 2017-07-20 00:08:11
谢谢。 TBH,问题是“是否有shell脚本命令可以用来检查网页是否存在?”我的回答是“wget或cURL将完成这项工作”,以及指向每个命令的链接以及可以检查这些命令调用的响应的解释。从任何角度来看,这不仅仅是一个URL唯一的答案,而且与当时出现的其他答案(修订版)一样:https://stackoverflow.com/revisions/2924444/1。唉,显然是一个糟糕的业力日:-) – 2017-07-22 13:39:32
使用cURL获取状态码并检查所需的值。
status=$(curl -s --head -w %{http_code} http://www.google.com/ -o /dev/null)
echo $status
首先确保没有授权任何issue.If要求授权,您提供的用户名和密码.Create一个shell脚本文件(checkURL.sh)并粘贴下面的代码。
希望这会帮助你。
checkURL.sh
yourURL="http://abc-repo.mycorp.com/data/yourdir"
if curl --output /dev/null --silent --head --fail "$yourURL"
then
echo "This URL Exist"
else
echo "This URL Not Exist"
fi
它在Nexus和其他信息库为我工作。
您可以随时使用wget
;我做的代码更简单。
if [[ $(wget http://url/ -O-) ]] 2>/dev/null
then echo "This page exists."
else echo "This page does not exist."
fi
使用-O-
选项与wget
意味着它会尝试输出页面的内容,但只有当它的存在。所以如果没有任何输出,那么该页面不存在。 2>/dev/null
只是将输出(如果有的话)发送到垃圾箱。
我知道这是逾期,但我希望这可以帮助。
- 1. 通过Shell脚本确定Linux进程是否在给定参数下运行
- 2. 如何确定shell脚本是安全
- 3. 我的shell脚本如何确定它是否在真正的shell中?
- 4. 如何确定shell脚本是否以root权限运行?
- 5. 是否有人如何通过shell脚本执行此cmd?
- 6. 如何检测Node.js脚本是否通过shell管道运行?
- 7. 通过shell脚本
- 8. 如何通过bash脚本检查文件是否存在?
- 9. 如何通过运行shell脚本
- 10. 如何通过python执行shell脚本
- 11. 如何检查命令是否存在于shell脚本中?
- 12. Shell脚本通过Oozie
- 13. 如何确定函数是否存在于POSIX shell中?
- 14. 如何通过编程确定网页是否具有不安全的元素?
- 15. 如何通过JavaScript确定页面是否安全?
- 16. 如何通过AIX kornshell脚本确定JVM是否仍处于活动状态
- 17. 检查Tomcat是否通过shell脚本运行
- 18. 检查gradle测试是否通过shell脚本
- 19. 从一个shell脚本,确定是否Firefox有一个页面渲染
- 20. 检查脚本是否存在页面
- 21. 如何确定通过AJAX在页面上加载的脚本位于何处?
- 22. 如何确定ASP.NET网站是否存在内存泄漏
- 23. 如何判断网页是否存在?
- 24. 如何高效地确定网页是否来自网站
- 25. 如何确定一个网页是否有RSS或不在C#
- 26. 如何确定用户是否真的在查看网页?
- 27. 检查是否存在两个文件(在shell脚本中)
- 28. 如何确定网页是否完全在网页浏览器中加载?
- 29. 确定互联网连接是否可以通过WiFi在android
- 30. 如何确定我的python脚本是否正在运行?
哪个外壳? UNIX shell? Windows命令提示符? Windows Powershell? – zneak 2010-05-27 20:00:10
UNIX,我猜,因为它有一个unix标签。 – thepiercingarrow 2016-03-25 00:01:14