curl 将在版本 7.70 支持以 JSON 方式输出调试信息

2020-03-18 10:45:21 +08:00
 Livid

https://daniel.haxx.se/blog/2020/03/17/curl-write-out-json/

例子如下:

{
  "url_effective": "https://example.com/",
  "http_code": 200,
  "response_code": 200,
  "http_connect": 0,
  "time_total": 0.44054,
  "time_namelookup": 0.001067,
  "time_connect": 0.11162,
  "time_appconnect": 0.336415,
  "time_pretransfer": 0.336568,
  "time_starttransfer": 0.440361,
  "size_header": 347,
  "size_request": 77,
  "size_download": 1256,
  "size_upload": 0,
  "speed_download": 0.002854,
  "speed_upload": 0,
  "content_type": "text/html; charset=UTF-8",
  "num_connects": 1,
  "time_redirect": 0,
  "num_redirects": 0,
  "ssl_verify_result": 0,
  "proxy_ssl_verify_result": 0,
  "filename_effective": "saved",
  "remote_ip": "93.184.216.34",
  "remote_port": 443,
  "local_ip": "192.168.0.1",
  "local_port": 44832,
  "http_version": "2",
  "scheme": "HTTPS",
  "curl_version": "libcurl/7.69.2 GnuTLS/3.6.12 zlib/1.2.11 brotli/1.0.7 c-ares/1.15.0 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) nghttp2/1.40.0 librtmp/2.3"
}

如果所有 Unix 工具都能这样用 JSON 格式输出信息就好了。

5933 次点击
所在节点    cURL
26 条回复
ps1aniuge
2020-03-19 14:41:21 +08:00
mkdir -p ~/.config/powershell ;Add-Content -Path $profile -Value 'new-alias -Name curl -Value Invoke-WebRequest ; new-alias -name wget -Value Invoke-WebRequest'
CallMeReznov
2020-03-19 14:54:52 +08:00
帅 以后就不要在加 jq 了吗
ChristopherWu
2020-03-19 15:09:47 +08:00
我一直想做这样子的项目,用 json 将所有命令行工具都包装一遍。
什么 ls,pwd,grep,top 都添加一个选项 --json-output ,可以输出 json,然后就可以用 jq 玩弄了。


文本化输出时 unix 的一大败笔,没法洗。
Jirajine
2020-03-19 15:10:50 +08:00
@ps1aniuge @littleshy
关键是,这个命令和 curl,wget 的行为都不同。
习惯性地用 wget 下个文件,开始看起来正常,下完以后文件呢?
和 curl 也是各种结果不一致,还会 following redirect。
还有其他的各种灵异事件,cat 1.jpg > 2.jpg 出来一坨什么东西? nc 接管道收到的数据怎么和发的不一样? ls | grep xxx 怎么没效果?
如此种种让不了解 PowerShell 的用户(没错,以前的我)满脸懵逼,实在忍无可忍去看 PowerShell 的文档,一看才知道怎一个坑字了得,自作聪明的内置别名,瞎胡闹的对象管道,用 git-bash 我都不想用它。
ps1aniuge
2020-03-20 16:23:45 +08:00
@Jirajine 同人,这个词了解一下。
你可以不用,但不能不让别人,用同人继续演义。
国家允许“王者荣耀”酒 ,参见 《腾讯状告国 a 家 b 版 c 权局》
qq 车,
还有什么小说, [异界岳不群] [魔界张三丰]
你在百度搜的东西和谷歌搜的结果也不一样。

结果不一致又如何呢?只有甜豆浆才是正宗?

史上武值没有大郎那么矮,金莲也是娴妇。
是不是把看金-屏-妹的邪书的都灭了?
那么肮脏,那么不正能量,你还不是照样钻被窝看禁书。你咋不大义凛然呢?

你,他,我,curl 作者,再做一个 [解析网址成 dom 对象版 curl] ,谁也做不成和 curl 结果完全一致。又何必强求 ps 项目呢。

就算做成了和 curl 完全一致的,完全一致,那直接用 curl 得了。那不是没用么?
ps1aniuge
2020-03-20 16:42:41 +08:00
命令行解析网址,是一个学科。
不同的人,有不同理解,

先来的就是正宗么?如此说 ie 是正宗,chrome 应该被你抛弃。你 chrome 凭什么解析结果和 ie 不同?
同理,
上帝,圣母,谁更正宗,应该信谁???
所以,
希望大家看开些。
最后,
Invoke-WebReques 香不?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/653786

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX