首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定是否存在带有shell脚本的网页?

如何确定是否存在带有shell脚本的网页?
EN

Stack Overflow用户
提问于 2010-05-28 03:55:22
回答 6查看 61.2K关注 0票数 62

我正在尝试制作一个程序,可以将一系列的漫画扫描转换成一个pdf文件,我不想不得不尝试下载图片来确定我是否有正确的url。有没有shell脚本命令可以用来检查网页是否存在?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-05-28 03:59:17

在*NIX下,您可以使用curl发出一个简单的HEAD请求(HEAD只请求头部,而不是页面正文):

代码语言:javascript
复制
curl --head http://myurl/

然后,您可以只使用第一行,其中包含HTTP状态代码(200 OK、404 Not Found等):

代码语言:javascript
复制
curl -s --head http://myurl/ | head -n 1

然后检查你是否得到了一个好的响应(状态码是200或3**):

代码语言:javascript
复制
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].."

如果状态码正常,这将输出第一行,如果状态码不正常,则输出nothing。您也可以通过管道将其发送到/dev/null以获得任何输出,并使用$?来确定它是否正常工作:

代码语言:javascript
复制
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不要显示“进度条”。

票数 112
EN

Stack Overflow用户

发布于 2013-08-16 05:26:25

使用cURL获取状态代码并检查所需的值。

代码语言:javascript
复制
status=$(curl -s --head -w %{http_code} http://www.google.com/ -o /dev/null)
echo $status
票数 26
EN

Stack Overflow用户

发布于 2014-01-08 14:11:08

首先,确保不需要任何授权,提供用户名和密码issue.If a shell script file (checkURL.sh ),然后粘贴以下代码。

希望这能对你有所帮助。

checkURL.sh

代码语言:javascript
复制
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和其他存储库中为我工作。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2924422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档