You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过程序下载Google Drive超大文件?wget方法遇异常

Google Drive大文件wget下载内容不符的解决办法

问题根源

Google Drive对大文件会强制触发病毒扫描确认流程,你原有的wget命令中,确认码的提取正则未适配这个场景,导致下载到的是病毒扫描提示页面而非实际文件。

修正后的wget命令

调整确认码提取逻辑,适配大文件的页面结构:

# 替换为你的文件ID和目标文件名
FILEID="你的文件ID"
FILENAME="supplier-data.tar.gz"

# 1. 获取确认页面并保存会话Cookie
wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate "https://docs.google.com/uc?export=download&id=$FILEID" -O /tmp/download_page.html

# 2. 从页面中提取正确的确认码(适配大文件的病毒扫描确认)
CONFIRM=$(grep -E 'confirm=([0-9A-Za-z_]+)' /tmp/download_page.html | cut -d'=' -f2 | cut -d'&' -f1)

# 3. 携带确认码和Cookie下载文件
wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$CONFIRM&id=$FILEID" -O $FILENAME

# 清理临时文件
rm -rf /tmp/cookies.txt /tmp/download_page.html

更可靠的curl替代方案

如果wget仍出现问题,curl的处理逻辑对复杂跳转更友好:

FILEID="你的文件ID"
FILENAME="supplier-data.tar.gz"

# 获取Cookie和确认页面
curl -c /tmp/cookies.txt -s -L "https://drive.google.com/uc?export=download&id=$FILEID" > /tmp/download_page.html

# 提取确认码并下载
curl -L -b /tmp/cookies.txt "https://drive.google.com/uc?export=download&confirm=$(grep -o 'confirm=[^&]*' /tmp/download_page.html | sed 's/confirm=//')&id=$FILEID" -o $FILENAME

# 清理临时文件
rm -rf /tmp/cookies.txt /tmp/download_page.html

关键注意点

  • 确保目标文件已设置为所有人可访问权限
  • 若下载仍失败,可添加--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"参数模拟浏览器请求,绕过部分限制

内容的提问来源于stack exchange,提问作者siralbert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 18:12:26