📜  检查 url 是否通过 curl 返回 200 (1)

📅  最后修改于: 2023-12-03 14:55:42.842000             🧑  作者: Mango

检查 URL 是否通过 curl 返回 200

在开发过程中,我们常常需要检查一个 URL 是否能够通过 curl 返回 200。本文将介绍如何使用 curl 命令来检查 URL,以及如何处理 curl 的错误。

curl 命令

curl 是一个非常强大的命令行工具,它主要用于对 Web 服务器发起 HTTP 请求和响应,支持多种协议和方法,是一个非常方便的测试工具。使用 curl 的基本语法如下:

curl [Options] [URL]

其中:

  • Options:可选的参数列表。
  • URL:要请求的 URL。
检查 URL 是否通过 curl 返回 200

要检查一个 URL 是否能够通过 curl 返回 200,只需要执行以下命令:

curl -I -L <URL>

其中:

  • -I:只返回页面头部的信息。
  • -L:允许重定向请求。

如果返回值的第一行是类似以下内容的信息,那么该 URL 就是能够通过 curl 返回 200 的:

HTTP/1.1 200 OK

下面是一个例子:

curl -I -L http://example.com

返回的结果应该是类似以下内容的:

HTTP/1.1 200 OK

如果返回 404 状态码,则表示该页面不存在或者不允许访问等。如果返回其他状态码,则表示该页面存在,但是由于某些原因无法使用。

处理 curl 的错误

当 curl 在请求一个 URL 的过程中出现错误时,它会返回一个错误码并提示错误信息。以下是一些常见的错误码及其含义:

  • 6:无法解析主机名。
  • 7:无法连接到主机。
  • 28:操作超时。

要查看之前的请求是否出现了错误,只需要执行以下命令:

curl -I -L -v <URL>

其中:

  • -v:输出详细的调试信息。

这样,如果请求出现错误,就可以看到更详细的错误信息。以下是一个例子:

curl -I -L -v http://example.com

如果出现了错误,则输出类似以下内容的调试信息:

* Rebuilt URL to: http://example.com/
* Hostname was NOT found in DNS cache
*   Trying 93.184.216.34...
* Connected to example.com (93.184.216.34) port 80 (#0)
> HEAD / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: example.com
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Cache-Control: max-age=604800
Cache-Control: max-age=604800
< Content-Type: text/html
Content-Type: text/html
...
结论

使用 curl 命令是一种非常方便的方式来检查一个 URL 是否能够通过 HTTP 返回 200。同时,如果请求出现错误,则可以通过调试输出来定位问题。