我试图遵循本教程:https://www.shellhacks.com/check-website-availability-linux-command-line/
使用该curl -Is http://www.shellhacks.com | head -1
命令时,我根本无法访问200 OK
任何网站。它是302 Moved Temporarily
,301 Moved Permanently
或307 Temporary Redirect
。我想检查某个特定网站是否可以处理请求。当我读到 3xx 时,它说这是一种搬迁。但是,这是否意味着我的特定网站无法处理请求?看来它搬迁到的位置将处理我的请求。
我应该如何考虑 3xx 案例?
答案1
实际上,您可以获得200 OK
HTTP 响应,但最终无法使用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