curl下载文件(文件url中包含请求字段)
问题今天需要下载一个文件,通过浏览器下载下载到一般报网络异常,多次尝试仍不可行;使用百度云离线下载和迅雷下载均不可完成下载;因为是国外网站,想着就使用了vps通过命令行进行下载,然后通过vps转移过来,但是下载时遇到了些麻烦。下载文件地址如下:https://www.flashmagictool.com/download.html&d=13.10/FlashMagic.exe明显可以观察到
·
问题
今天需要下载一个文件,通过浏览器下载下载到一般报网络异常,多次尝试仍不可行;使用百度云离线下载和迅雷下载均不可完成下载;因为是国外网站,想着就使用了vps通过命令行进行下载,然后通过vps转移过来,但是下载时遇到了些麻烦。
下载文件地址如下:
https://www.flashmagictool.com/download.html&d=13.10/FlashMagic.exe
明显可以观察到该地址不是直接的资源地址,附带有参数,直接下载,下载下来的会是download.html
文件。
解决办法
curl -G -d 'd=13.10/FlashMagic.exe' -o FlashMagic.exe https://www.flashmagictool.com/download.html
观察http网址可知,该请求中包含参数字段,因此需要使用-d
指明数据域来通知参数;但是浏览器访问时默认请求方式是GET
,而curl附带-d
字段默认请求方式是POST
,因此需要使用-G
指明GET
请求方式;-o
用以指明将得到的数据保存到的文件名;
或者
curl -v -L "https://www.flashmagictool.com/download.html&d=13.10/FlashMagic.exe" -o FlashMagic.exe
-v
打印显示http交互的信息,便于理解交互过程;
参考网址
更多推荐
已为社区贡献5条内容
所有评论(0)