wget用Content-Disposition字段值为文件名
基本用法
wget可以通过--content-disposition参数使用HTTP响应头中的Content-Disposition字段来设置下载文件的文件名。
wget [--no-check-certificate] --content-disposition 'url'
详细说明
Content-Disposition头字段
Content-Disposition是HTTP响应头中的一个字段,用于指示如何处理响应内容。当服务器希望浏览器下载文件而不是显示时,会使用这个字段。
常见的格式:
Content-Disposition: attachment; filename="example.pdf"
Content-Disposition: attachment; filename*=UTF-8''%E4%BE%8B%E5%AD%90.pdf
参数说明
--content-disposition: 启用对Content-Disposition头的支持--no-check-certificate: 跳过SSL证书验证(可选,用于自签名证书)
实际应用场景
1. 动态文件下载
当下载链接指向动态生成的文件时,服务器会通过Content-Disposition指定正确的文件名:
wget --content-disposition "https://example.com/download.php?id=123"
2. 中文文件名处理
对于包含中文字符的文件名,Content-Disposition可能会使用URL编码:
wget --content-disposition "https://example.com/中文文件.pdf"
wget会自动处理URL编码的文件名。
3. 批量下载
结合其他参数使用:
# 后台下载,使用Content-Disposition文件名
wget -b --content-disposition "https://example.com/file.zip"
# 限制下载速度,使用Content-Disposition文件名
wget --limit-rate=100k --content-disposition "https://example.com/large-file.iso"