【问题标题】:Using curl to output http status code, total time, and the request body使用 curl 输出 http 状态码、总时间和请求正文
【发布时间】:2016-09-18 00:59:26
【问题描述】:

我想使用 curl 在单个 POST 请求中捕获以下参数:

  • http 状态码
  • 操作总时间
  • 结果正文

根据手册 (http://curl.haxx.se/docs/manpage.html),这是我尝试过的选项。

1) -w 参数捕获 http_code 和 time_total。

curl "http://stackoverflow.com/" -w "\' %{http_code}\',\'%{time_total}\'"

但它似乎只返回这两个参数,我不再能够捕获身体。

2) -i 参数返回标头和请求的正文,但我将无法再返回总时间。

curl -i "http://localhost:8080/"

最终目标是将三个结果放入一个 JSON 对象中,然后可以根据需要对其进行解析。

{"httpVar: "200", "runtimeVar" : "18.58", "outputVar" : "ID:grinvriar080n23nvn"} 

目前,我正在使用 groovy 脚本(类似于 JAVA),所以我认为我不能使用 bash 或 PHP。我可以计算 groovy 运行 .execute() 所花费的总时间,但这并不是 POST 发送/返回数据所需的真实时间。我什至愿意使用除了 curl 之外的其他程序。

我找了几天没有结果,因此感谢您提出任何建议。

【问题讨论】:

  • 发现问题。我在命令末尾有一个“-o /dev/null”参数,它将实际的主体/输出放入以太中。当我省略它时,它会产生输出以及 http_code 和 time_total。

标签: java json parsing curl


【解决方案1】:

你所尝试的应该给予,你想要得到的。

我的意思是:

curl "http://stackoverflow.com/" -w "\' %{http_code}\',\'%{time_total}\'"

【讨论】:

    猜你喜欢
    • 2018-09-13
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多