gpt4 book ai didi

google-drive-api - Wget 在 Google Drive 上通过 "infected with a virus"屏幕

转载 作者:行者123 更新时间:2023-12-05 06:37:07 24 4
gpt4 key购买 nike

所以我一直在尝试让 wget 下载我上传的 Google Drive 文件。不幸的是,Google Drive 错误地将文件标记为病毒,因此 wget 无法获取直接下载链接。

我尝试过的事情:

  • 使用某人制作的 gdrive.pl fie,但我在 Windows 上,/tmp/cookies.txt 不存在。

  • 执行 wget --no-check-certificate https://docs.google.com/uc?export=download&id=FILEID -O FILENAME,但显示 400错误请求

  • 使用 https://docs.google.com/uc?export=download&id=ID,但由于 download infected file 警告而失败。

有没有人有解决这个问题的建议?

最佳答案

这是我能够做的,基于我在 https://medium.com/@acpanjan/download-google-drive-files-using-wget-3c2c025a8b99 找到的起点:

编辑 我注意到你说的是 Windows,所以这个带有 sed 的命令不能在 Windows 中本地运行 - 我将在下面列出没有用于 Windows 的 sed 的步骤

当然,您首先要共享文件并从 google drive 上的共享链接获取文件 ID。然后:

wget --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate "https://docs.google.com/uc?export=download&id=SHARE_LINK_ID" -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p' > /tmp/confirm && wget --load-cookies /tmp/cookies.txt --no-check-certificate "https://docs.google.com/uc?export=download&confirm="$(cat /tmp/confirm)"&id=SHARE_LINK_ID" -O YOUR_FILENAME && rm /tmp/cookies.txt /tmp/confirm

将 SHARE_LINK_ID 替换为您共享文件链接中的 ID。将 YOUR_FILENAME 替换为您想要的输出文件名。

这会尝试下载文件并获取有关文件中潜在病毒的警告消息的 html。它使用 cookie,因为您需要使用相同的 session ID 进行后续下载和确认代码。

然后它从该响应中获取生成的确认代码并将其写入临时文件。

然后我执行另一个 wget,将确认代码添加到查询字符串以下载文件,使用保存的 cookie 允许确认代码在保存的 session 中工作。

这很可能会被写入脚本,传递共享链接 ID 的参数以使其更有用。

对于 Windows(没有 sed)

 wget --save-cookies %TMP%/cookies.txt --keep-session-cookies --no-check-certificate "https://docs.google.com/uc?export=download&id=SHARE_LINK_ID" -O %TMP%/confirm.txt

下载确认 html。

 notepad %TMP%/confirm.txt

在记事本中打开 %TMP%/confirm.txt 以获取确认代码字符串(CTRL+F 查找“confirm=”并在之后立即获取代码)。在下面的命令行中替换它(连同输入你想要的文件名和来自谷歌驱动器的共享链接 ID)

 wget --load-cookies %TMP%/cookies.txt --no-check-certificate "https://docs.google.com/uc?export=download&confirm=CONFIRM_CODE&id=SHARE_LINK_ID" -O YOUR_FILENAME

删除临时文件:

 del %TMP%/cookies.txt %TMP%/confirm.txt

关于google-drive-api - Wget 在 Google Drive 上通过 "infected with a virus"屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48388914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com