2017-06-02 100 views
1

我有以下cURL请求。我想获取http_code,但我想要一个不同的变量,否则它会解析来自GET调用的JSON响应。获取卷曲http代码

有没有办法做到这一点?

curl --write-out %{http_code} --silent --output GET --header "Accept: application/json" --header "URL" 

回答

2

只需使用命令替换为存储状态代码中的变量:

status=$(curl --write-out %{http_code} --silent --output tmp.out GET --header "Accept: application/json" --header "URL") 
data=$(<tmp.out) 

# check status now 
declare -p status 

# check data 
declare -p data 
+0

我也需要实际的输出。这是否给我输出和状态代码? –

+0

这只是将状态代码附加到JSON响应的末尾。 –

+0

但是你有'--output/dev/null'这是抑制所有的输出。 – anubhava

0

卷曲-i -H “接受:应用/ JSON”, “服务器:5050/A/C /的getName {” 参数0 “:” Arvind的 “}”

+0

这就像运行定期卷曲请求。 –

0

卷曲-w 'RESP_CODE:%{RESPONSE_CODE}' -s -X POST --data '{ “ASDA”: “ASD”}' http://example.com --header“内容类型:application/json“| grep -o'RESP_CODE:[1-4] [0-9] [0-9]'

+0

我需要响应代码和实际的JSON响应 –