- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我一直在尝试让 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/
如果我从命令行使用 wget 而不指定显式用户代理,我想知道传递的默认用户代理是什么。 我有一些基于用户代理更改输出的代码。 wget http://www.google.com -O test.ht
我想使用 wget 下载网络,但为了使它更像一个真正的用户,我想在请求之间进行小的随机延迟。 我正在通过 cmd 执行 wget。 最佳答案 您可以将以下代码添加到命令行中,这会在服务器请求之间增加
我想从 ftp 服务器下载许多文件(大约 10000 个)。文件名太长。我只想用名称中的日期保存它们。例如:ABCDE201604120000-abcde.nc 我更喜欢20160412.nc可能吗?
我想抓取一个网站来构建它的站点地图。 问题是,该站点使用 htaccess 文件来阻止蜘蛛,因此以下命令仅下载主页(index.html)并停止,尽管它确实包含指向其他页面的链接: wget -mkE
当我去ISC时here要下载 BIND,我的浏览器会自动正确保存下载的文件。例如,如果我点击 9.9.4-P2 的下载按钮,它会弹出一个窗口,如果我点击右侧的“BIND 9.9.4-P2 - tar.
我的 shell 脚本中有一个像这样的 wget 命令: reponse="`wget -O- http:localhost:8080/app/index.html`" 我不明白 -O- 选项。我被解
我正在尝试使用Wget下载页面,但我无法通过登录屏幕。 如何使用登录页面上的发布数据发送用户名/密码,然后以经过身份验证的用户身份下载实际页面? 最佳答案 基于手册页: # Log in to the
我创建了指向框中文件的直接链接: 上一个链接是浏览器网络界面,所以我随后分享了一个直接链接: 但是,如果我使用 wget 下载文件,我会收到垃圾。 如何使用 wget 下载文件? 最佳答案 我可以通过
我尝试了“-N”和“--no-clobber”,但我得到的唯一结果是检索现有 example.exe 的新副本,其编号是使用此语法“example.exe.1”添加的数字'。这不是我想要得到的。我只需
当我执行 wget 时,我希望文件系统中保存的文件具有现在的保存日期。不是服务器的日期。当我这样做时: ll -ltr 我首先下载了文件(列表中的最后一个)。 以及如何将其设为默认值?什么时候是默认值
在我的 CentOS 6.5 中,我想安装 wget: # yum -y install wget 但我收到以下错误: [root@localhost yum.repos.d]# yum -y i
我正在尝试使用 wget 抓取网站。这是我的命令: wget -t 3 -N -k -r -x -N 表示“如果服务器版本低于本地版本,则不下载文件”。但这不起作用。当我重新启动上述抓取操作时,会一遍
我在 cron 作业中使用 wget 每分钟将 .jpg 文件提取到 Web 服务器文件夹中(每次使用相同的文件名,覆盖)。此文件夹是“事件的”,因为 Web 服务器也从那里提供该图像。但是,如果有人
我有以下问题。我需要镜像受密码保护的站点。听起来很简单: wget -m -k -K -E --cookies=on --keep-session-cookies --load-cookies=myC
我可以使用 wget 检查 404 错误而不实际下载资源吗?如果是这样怎么办?谢谢 最佳答案 命令行参数--spider正是用于此目的。在此模式下,wget 不会下载文件,如果找到资源,则返回值为零;
我正在通过 wget 下载一些 .mp3 文件(全部合法): wget -r -nc files.myserver.com 有时我必须停止下载,此时文件已部分下载。例如,10 分钟的 record.m
我正在使用 wget 连接到这样的安全站点: wget -nc -i inputFile 其中 inputeFile 由这样的 URL 组成: https://clientWebsite.com/Th
我目前正在使用一个相当复杂的 wget 命令,但它的本质是 -p 和 -k 标志来下载所有先决条件。如何将主要下载文件重命名为 index.html? 比如我下载一个网页 http://myaweso
这看起来应该很简单,但我无法弄清楚。我要发wget类似于以下的请求, wget http://www.foo.com/bar.cgi?param=\"p\" 但我不希望它对引号(或其他任何东西)进行
我正在编写一个需要从 sourceforge 下载发布文件的脚本。如何获得好的链接? 同样的问题及其答案于 2013 年在此处给出,但不再有效。 https://unix.stackexchange.
我是一名优秀的程序员,十分优秀!