
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=", "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 格式输出信息就好了。
1 lisonfan 2020 年 3 月 18 日 有个 httpie |
2 wdytoya 2020 年 3 月 18 日 挺好的,小而美的优化 |
3 chocotan 2020 年 3 月 18 日 我一般在后面加 | jq |
4 onion83 2020 年 3 月 18 日 | jq +1 |
5 langxuan 2020 年 3 月 18 日 | jq + 2 |
6 ifsclimbing 2020 年 3 月 18 日 via iPhone 是不是可以给所有命令加个前置 filter,处理结果成 json |
7 scriptB0y 2020 年 3 月 18 日 |
8 weixiangzhe 2020 年 3 月 18 日 我一般是用 fx curl xxxx | fx |
9 wujunze 2020 年 3 月 18 日 jq +10086 挺方便的 httpie 也不错 就是卡一点 |
10 MeteorCat 2020 年 3 月 18 日 via Android 这个可以呀,以后可以直接调用外部脚本 curl 批量保存嗅探网站的信息了 |
11 hantsy 2020 年 3 月 18 日 Windows 下 的 Curl 是啥版本,好多问题。 不得不转到 Cygwin 下用。 |
12 Maco 2020 年 3 月 18 日 curl xxx | | python -m json.tool |
13 Maco 2020 年 3 月 18 日 理解错了 |
14 est 2020 年 3 月 18 日 然后你又需要一个命令行工具来解析 JSON 了。 |
15 Narcissu5 2020 年 3 月 18 日 有点好奇这种工具是谁在维护 |
16 wangyzj 2020 年 3 月 18 日 jq 不错 |
17 ps1aniuge 2020 年 3 月 19 日 linux 版 powershell:Invoke-WebRequest 网址 直接返回对象,内有属性方法,不香么?可以代替大部分 curl 的需求。 |
18 Jirajine 2020 年 3 月 19 日 via Android |
20 ps1aniuge 2020 年 3 月 19 日 @littleshy 哦这个我还没了解到,刚才试了下,果然如此。 实际上我是建议有这两个别名的。 psv7 中 curl,wget 还原大法=香!: ``` new-alias -Name curl -Value Invoke-WebRequest ; new-alias -name wget -Value Invoke-WebRequest ``` 你要不想用 curl 别名,可以用 /usr/bin/curl 嘛。 |
21 ps1aniuge 2020 年 3 月 19 日 mkdir -p ~/.config/powershell ;Add-Content -Path $profile -Value 'new-alias -Name curl -Value Invoke-WebRequest ; new-alias -name wget -Value Invoke-WebRequest' |
22 CallMeReznov 2020 年 3 月 19 日 帅 以后就不要在加 jq 了吗 |
23 ChristopherWu 2020 年 3 月 19 日 我一直想做这样子的项目,用 json 将所有命令行工具都包装一遍。 什么 ls,pwd,grep,top 都添加一个选项 --json-output ,可以输出 json,然后就可以用 jq 玩弄了。 文本化输出时 unix 的一大败笔,没法洗。 |
24 Jirajine 2020 年 3 月 19 日 via Android @ps1aniuge @littleshy 关键是,这个命令和 curl,wget 的行为都不同。 习惯性地用 wget 下个文件,开始看起来正常,下完以后文件呢? 和 curl 也是各种结果不一致,还会 following redirect。 还有其他的各种灵异事件,cat 1.jpg > 2.jpg 出来一坨什么东西? nc 接管道收到的数据怎么和发的不一样? ls | grep xxx 怎么没效果? 如此种种让不了解 PowerShell 的用户(没错,以前的我)满脸懵逼,实在忍无可忍去看 PowerShell 的文档,一看才知道怎一个坑字了得,自作聪明的内置别名,瞎胡闹的对象管道,用 git-bash 我都不想用它。 |
25 ps1aniuge 2020 年 3 月 20 日 @Jirajine 同人,这个词了解一下。 你可以不用,但不能不让别人,用同人继续演义。 国家允许“王者荣耀”酒 ,参见 《腾讯状告国 a 家 b 版 c 权局》 qq 车, 还有什么小说, [异界岳不群] [魔界张三丰] 你在百度搜的东西和谷歌搜的结果也不一样。 结果不一致又如何呢?只有甜豆浆才是正宗? 史上武值没有大郎那么矮,金莲也是娴妇。 是不是把看金-屏-妹的邪书的都灭了? 那么肮脏,那么不正能量,你还不是照样钻被窝看禁书。你咋不大义凛然呢? 你,他,我,curl 作者,再做一个 [解析网址成 dom 对象版 curl] ,谁也做不成和 curl 结果完全一致。又何必强求 ps 项目呢。 就算做成了和 curl 完全一致的,完全一致,那直接用 curl 得了。那不是没用么? |
26 ps1aniuge 2020 年 3 月 20 日 命令行解析网址,是一个学科。 不同的人,有不同理解, 先来的就是正宗么?如此说 ie 是正宗,chrome 应该被你抛弃。你 chrome 凭什么解析结果和 ie 不同? 同理, 上帝,圣母,谁更正宗,应该信谁??? 所以, 希望大家看开些。 最后, Invoke-WebReques 香不? |