当你使用 curl
命令请求一个网页或者服务器时,服务器会返回一个 HTTP 状态码。这个状态码是一个三位数字,它表示了请求的结果。HTTP 状态码主要分为五类:
1xx (信息性状态码) - 表示接收的请求正在处理。
例子: 100 (继续)
2xx (成功状态码) - 表示请求正常处理完毕。
例子: 200 (成功), 201 (已创建), 204 (无内容)
3xx (重定向状态码) - 表示需要后续操作才能完成这一请求。
例子: 301 (永久移动), 302 (临时重定向), 304 (未修改)
4xx (请求错误状态码) - 表示请求可能出错,妨碍了服务器的处理。
例子: 400 (错误请求), 401 (未授权), 403 (禁止), 404 (未找到)
5xx (服务器错误状态码) - 表示服务器处理请求出错。
例子: 500 (内部服务器错误), 502 (错误网关), 503 (服务不可用)
在使用 curl
命令时,可以查看返回的 HTTP 状态码,这对于调试和分析网站请求很有帮助,下文是一些常见的方法来获取 curl
命令返回的状态码。
1.使用 -I 或 -i 选项
最简单的方法就是在 curl
命令后加上 -I
或 -i
选项。这样可以在响应结果中看到完整的 HTTP 头信息,包括状态码。
例如:
curl -I https://apifox.com
这会显示类似这样的输出:
HTTP/1.1 200 OK
Server: openresty/1.21.4.1
Date: Fri, 26 Apr 2024 03:35:31 GMT
Content-Type: text/html
Content-Length: 242152
Last-Modified: Fri, 19 Apr 2024 23:08:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: abflag=1714102531; domain=.apifox.com ;path=/; Expires=Tue, 19-Jan-2038 03:14:07 GMT
ETag: "6622f986-3b1e8"
Cache-Control: max-age=300
Accept-Ranges: bytes
可以看到状态码是 200 OK
,表示请求成功。
2.使用 -o /dev/null 和 -w "%{http_code}"
如果你只想看到状态码,不需要其他信息,Linux 系统可以使用 -o /dev/null
和 -s -w "%{http_code}"
选项:
curl -o /dev/null -s -w "%{http_code}" https://apifox.com
这样,curl
会将访问的网站响应结果中除状态码之外的所有输出重定向到/dev/null
(即不显示),只在命令行中输出 HTTP 状态码。
Windows 使用 NUL
来提供类似的功能。所以,当你尝试在 Windows 使用类似于 UNIX 的命令时,你应该将 /dev/null
改为 NUL
。
curl -o NUL -s -w "%{http_code}" https://apifox.com
使用 Apifox 执行 cURL 命令
要执行 cURL 命令,我更推荐使用 Apifox 进行调试,因为在 Apifox 中你可以将 cURL 命令及其结果保存起来并分享出去。在 Apifox 中调试 cURL 非常便捷,只需创建一个新的 HTTP 项目,然后在项目中将鼠标悬停在 +
号图标上,点击"导入 cURL",即可打开一个输入框。
将 cURL 命令粘贴到输入框,然后点击【确定】即可。
保存后 Apifox 会将这个 cURL 命令解析成接口,并生成一个快捷请求,你可以点击“发送”按钮对该进行调试,或者将该快捷请求保存为接口。
在 Apifox 中导出 cURL 也非常简单,你只需要将鼠标移动到接口的...
图标那里,然后点击“复制 cURL”即可。
或者当你的接口发送成功后,在实际请求中查看,非常的方便,快去试试吧!
总结
当使用 curl 命令请求网页时,服务器会返回 HTTP 状态码,它是三位数字,表示请求结果。状态码分五类:1xx 信息性、2xx 成功、3xx 重定向、4xx 请求错误、5xx 服务器错误。可用 -I/-i 查看响应头获取状态码,或用 -o /dev/null -s -w "%{http_code}"
仅获取状态码。在 Apifox 中更方便,只需导入 curl 命令即可查看详细信息和调试请求。Apifox 还支持导出 curl 命令,是调试和分析网站请求的好工具。
学习更多: