检查 URL 时无法得到 200 OK?

检查 URL 时无法得到 200 OK?

我试图遵循本教程:https://www.shellhacks.com/check-website-availability-linux-command-line/

使用该curl -Is http://www.shellhacks.com | head -1命令时,我根本无法访问200 OK任何网站。它是302 Moved Temporarily301 Moved Permanently307 Temporary Redirect。我想检查某个特定网站是否可以处理请求。当我读到 3xx 时,它说这是一种搬迁。但是,这是否意味着我的特定网站无法处理请求?看来它搬迁到的位置将处理我的请求。

我应该如何考虑 3xx 案例?

答案1

实际上,您可以获得200 OKHTTP 响应,但最终无法使用head -1.
关键的选项是-L

-L, --location

(HTTP/HTTPS) 如果服务器报告请求的页面已移动到不同的位置(用Location: 标头和3XX响应代码指示),此选项将curl在新位置重做请求。如果与 -i--include-I、一起使用--head,将显示所有请求页面的标头。


$ curl -LIs http://www.shellhacks.com
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Tue, 13 Mar 2018 12:58:31 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: https://www.shellhacks.com/
X-Page-Speed: on
Cache-Control: max-age=0, no-cache

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 13 Mar 2018 12:58:31 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Link: <https://www.shellhacks.com/wp-json/>; rel="https://api.w.org/"
Set-Cookie: qtrans_front_language=en; expires=Wed, 13-Mar-2019 12:58:31 GMT; Max-Age=31536000; path=/
X-Page-Speed: on
Cache-Control: max-age=0, no-cache

相关内容