使用curl过滤数组(qBittorrent Web API)

vecaoik1  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(127)

希望有人能帮助我。我正在尝试理解qBittorrent Web API。目前我正在列出所有暂停的种子:

curl -i http://localhost:8080/api/v2/torrents/info?category=test

问题是它列出了整个JSON数组--我的问题是我可以只显示“name”或“hash”字段吗?这都是通过cmd使用curl实现的,但我已经在Git Bash & Powershell中尝试过了:

[{"eta":8640000,"f_l_piece_prio":false,"force_start":false,"hash":"8419d48d86a14335c83fdf4930843438a2f75a6b","last_activity":1664863523,"magnet_uri":"","max_seeding_time":0,"**name**":"TestTorrentName","num_complete":12,"num_incomplete":1,"num_leechs":0,"num_seeds":0,"priority":0,"progress":1,"ratio":0,"ratio_limit":-2,"save_path":"F:\\Completed\\test\\","seeding_time":0,"seeding_time_limit":-2,"seen_complete":1664863523,"seq_dl":false,"size":217388295,"state":"pausedUP","super_seeding":false,"tags":"","time_active":569,"total_size":217388295,"tracker":"udp://open.stealth.si:80/announce","trackers_count":10,"up_limit":-1,"uploaded":0,"uploaded_session":0,"upspeed":0}]

我已经尝试了以下方法,根据https://jqplay.org/应该可以工作-请参阅screenshot

curl -i http://localhost:8080/api/v2/torrents/info?category=test | jq --raw-output '.[] | .name'

但不幸的是,我得到了以下错误:

curl -i http://localhost:8080/api/v2/torrents/info?category=test | jq --raw-output '.[] | .name'
  % Total    % Received % Xferd  Average Speed   Time    '.name'' is not recognized as an internal or external command,
operable program or batch file.
Ti
mfpqipee

mfpqipee1#

curl -i http://localhost:8080/api/v2/torrents/info?category=test | jq --raw-output '.[] | .name'

-i让curl给予一些头信息,这些头信息被解析为jq,但jq只能解析JSON,因此失败。
删除-i并可选地将其替换为-s以删除统计信息:

curl -s http://localhost:8080/api/v2/torrents/info?category=test | jq --raw-output '.[] | .name'

相关问题