我在Linux的命令行中使用了GET的curl来获取http响应代码。响应正文被打印到标准输出,这很好,但是我看不到任何解决方案如何让POST的curl来打印HTTP状态代码(200,404,403等)。这可能吗?
oaxa6hgo1#
要只获取http_code,可以尝试:
http_code
curl -s -o /dev/null --head -w "%{http_code}" -X POST "https://httpbin.org/post"
你可以这样读/记:
-s
-o
--head
-w "%{http_code}"
要从您的请求中获取所有标头,请尝试:
curl -I -X POST "https://httpbin.org/post"
它将返回类似于以下内容的内容:
HTTP/1.1 200 OK Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: * Content-Type: application/json Date: Thu, 28 Mar 2019 20:12:01 GMT Server: nginx Content-Length: 294 Connection: keep-alive
7d7tgy0s2#
curl -X POST --write-out %{http_code} --silent --output /dev/null --data "{your_json_input}}" -H 'Content-Type:application/json' http://your_url
rjzwgtxy3#
较新版本的curl具有与--fail相同的返回值,但仍打印响应正文。
curl
--fail
3条答案
按热度按时间oaxa6hgo1#
要只获取
http_code
,可以尝试:你可以这样读/记:
-s
静默模式-o
将输出写入/dev/null--head
仅获取标头-w "%{http_code}"
写出HTTP状态代码要从您的请求中获取所有标头,请尝试:
它将返回类似于以下内容的内容:
7d7tgy0s2#
rjzwgtxy3#
较新版本的
curl
具有与--fail
相同的返回值,但仍打印响应正文。