我正在尝试下载最新的just
二进制文件,我可以在bash中使用以下代码行来完成:
wget -q $(curl -s https://api.github.com/repos/casey/just/releases/latest | python -c 'import json,sys;print(json.load(sys.stdin)["assets"][-1]["browser_download_url"])')
这是可行的,但是我同时使用curl
和wget
,我觉得这看起来不对。有没有办法只使用wget
?
2条答案
按热度按时间wmomyfyw1#
wget URL
与curl -O URL
基本相同。curl
与wget -o- URL
基本相同。但是既然你已经在使用python了,为什么不直接从python发起HTTP请求呢?
或者不使用python,而是使用jq从JSON中提取相关位:
nnsrf1az2#
我建议在
python
中使用以下标准库来完成所有操作说明:我使用
urllib.request
观察到urlopen
的行为与open
类似,但允许通过网络阅读数据,它可以与json.load
一起使用,与open
相同。我提取所需的URL,然后从它的最后一部分创建fname,然后我使用urlretrieve
从url
下载文件,将其保存在当前工作的名称fname
下目录。