当我给出 URL 时(http://192.168.150.41:8080/filereport/31779/json/
)在浏览器中,它会自动下载文件为31779_report.json
.
现在使用我正在尝试使用下载文件curl
但我收到以下错误。
$ curl -O http://192.168.150.41:8080/filereport/31779/json/
curl: Remote file name has no length!
curl: try 'curl --help' or 'curl --manual' for more information
当使用 '-L
' switch ,我显示了 JSON 内容,但文件未保存。
$curl -L http://192.168.150.41:8080/filereport/31779/json/
{
.....
.....
}
如何下载准确的文件“31779_report.json
“使用 cURL / wget ?
我不希望内容被重定向(>
)手动到文件(31779_report.json
).
请问有什么建议吗?
curl 的 -O 标志尝试使用文件的远程名称,但由于您的 URL 架构不以文件名结尾,因此它无法执行此操作。 -o 标志(小写 o)可用于手动指定文件名,而无需重定向 STDOUT,如下所示:
curl <address> -o filename.json
您可以使用 awk 手动构建所需的文件名格式。例如:
URL=http://192.168.150.41:8080/filereport/31779/json/
file_number=$(echo $URL | awk -F/ '{print $(NF-2)}')
file_name="${file_number}_report.json"
curl -L "$URL" -o "$file_name"
希望这更有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)