shell获取curl的返回结果_shell http请求&处理返回值获取其中某个字段的值

并且第一个接口的返回值中部分参数得作为第二个接口的入参,所以做了如下shell验证

第一个接口返回的response body串:

{

"bizCode": "1",

"bizDesc": "success",

"item": [

{

"age": "20",

"name": "shaoshao"

},

{

"age": "21",

"name": "shaoshaoqi"

}

],

"success": true

}

处理shell:

#! /bin/bash

#-----------------------------

#auther__shaozhiqi

#-----------------------------

declare POST_URL=http://192.168.1.101:8040/user/all

echo curl -i -X POST -H "'Content-type':'application/json'" '${POST_URL}' > temp.log

cat temp.log >> info.log

source temp.log > result

biz_desc=$(cat result | sed 's/,/\n/g' | grep "bizDesc" | sed 's/:/\n/g' | sed '1d' | sed 's/}//g'| sed 's/"//g')

echo $biz_desc

cat result >> info.log

#接下来biz_desc的值就可以作为调用第二个接口的参数了

#这里只是验证,没有按照规范写

行结果:

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下命令获取curl返回: ``` curl -s -o /dev/null -w "%{http_code}" http://example.com ``` 其中,`-s`表示静默模式,不输出任何信息;`-o /dev/null`表示将curl的输出重定向到/dev/null,即不输出到终端;`-w "%{http_code}"`表示输出HTTP状态码。 如果需要在shell脚本中获取curl返回,可以使用以下语句: ``` status=$(curl -s -o /dev/null -w "%{http_code}" http://example.com) echo $status ``` 其中,`$()`表示执行命令并将结果赋给变量`status`,然后使用`echo`命令输出变量。 ### 回答2: curl是一个非常常用的网络工具,可以用来访问、下载文件和网络资源等。在使用curl时,我们有时候需要获取返回来判断请求是否成功或者出错。而我们可以通过shell脚本来获取curl返回获取curl返回可以通过curl命令的返回码来实现。curl命令成功的返回码是0,而其他的返回码则表示出现了错误。我们可以通过$?来获取上一个命令的返回,也就是curl命令的返回。 以下是一个示例脚本,使我们可以更好的理解如何获取curl返回: #!/bin/bash result=$(curl -I -m 5 -o /dev/null -s -w %{http_code} http://example.com) if [ $result -eq 200 ]; then echo "访问成功" else echo "访问失败" fi 在这个脚本中,我们使用了curl的-I参数来获取HTTP头部信息,同时使用-m参数设置了最大请求时间为5秒钟。为了防止curl命令输出信息,我们使用了-o参数将结果输出到/dev/null中。最后,我们使用了-w参数来指定输出格式,即仅输出HTTP状态码。输出信息存储在$result变量中。 接下来,我们使用if语句来判断结果,如果返回为200,则输出“访问成功”,否则输出“访问失败”。 总之,shell脚本可以很方便地获取curl返回,并且可以根据返回来执行相应的操作。这样可以大大提高我们在使用curl命令时的效率。 ### 回答3: 在shell脚本中获取curl返回可以使用$?变量。当curl执行成功时,$?变量的为0,否则为1。我们可以在curl命令执行之后使用echo $?来输出返回。 例如,我们可以使用以下代码来获取curl返回: #!/bin/bash curl -I http://www.example.com/ if [ $? -eq 0 ]; then echo "curl执行成功" else echo "curl执行失败" fi 在上面的例子中,我们使用curl获取www.example.com的头信息。我们使用$?变量检查curl是否执行成功,并根据返回输出相应的消息。如果curl成功执行,$?为0,我们将输出“curl执行成功”。如果curl执行失败,$?为1,我们将输出“curl执行失败”。 总结:在bash shell脚本中,使用$?变量来获取上一条命令的返回,以便进一步处理命令的执行结果。在使用curl获取Web服务的响应时,我们可以使用$?变量来检查curl的执行是否成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值