Sle*_*Boy 64
它不是 wget,但您可以通过使用 curl 轻松做到这一点。
curl -I http://www.superuser.com/
Run Code Online (Sandbox Code Playgroud)
产生这个输出:
HTTP/1.1 301 Moved Permanently
Content-Length: 144
Content-Type: text/html; charset=UTF-8
Location: http://superuser.com/
Date: Sat, 09 Oct 2010 19:11:50 GMT
Run Code Online (Sandbox Code Playgroud)
Cas*_*der 40
尝试:
wget -S --spider www.example.com
Run Code Online (Sandbox Code Playgroud)
您还可以通过-O /dev/null
以防止wget
将 HTTP 响应写入文件。
thi*_*fun 22
不需要curl。
对于 Wget,添加--spider
意味着您要发送HEAD
请求(与GET
或相对POST
)。
这是检查 URL 是否响应的极简方式。例如,您可以在脚本检查中使用它,该HEAD
操作将确保您不会在网络和目标网络服务器上施加任何负载。
奖励信息:如果 Wget 在执行时从服务器收到 HTTP 错误 500,HEAD
它将继续GET
针对相同的 URL执行。我不知道这种设计的原因。这就是为什么你可以同时看到原因HEAD
和一个GET
正在对服务器进行请求。如果没有任何问题,则仅HEAD
执行请求。您可以使用将--tries
Wget 限制为仅一次尝试的选项来禁用此功能。
总而言之,我建议使用它来测试 URL 是否响应:
# This works in Bash and derivatives
wget_output=$(wget --spider --tries 1 $URL 2>&1)
wget_exit_code=$?
if [ $wget_exit_code -ne 0 ]; then
# Something went wrong
echo "$URL is not responding"
echo "Output from wget: "
echo "$wget_output"
else
echo "Check succeeded: $URL is responding"
fi
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
44162 次 |
最近记录: |