Как я могу загрузить zip-файл с надписью «вирус обнаружен»? — Сообщество Google Диска

Я пытаюсь загрузить файл, который загрузил несколько лет назад. Это zip-архив с большим количеством текстовых файлов (в частности, файлы электронной почты, использующие старый mh давным-давно — он сохранял электронные письма локально, по одному электронному письму на файл).

Я пытаюсь выполнить поиск для старого электронного письма, полученного давно, но я не могу загрузить файл.

Google сообщает, что сканирование на вирусы недоступно, но оно не выполняется из-за «обнаруженного вируса» — предположительно в Windows сторона.

Как мне искать в моих старых письмах/zip-архиве?



Wget пропустить экран «заражен вирусом» в Google Диск

Итак, я пытался заставить wget загрузить файл с Google Диска, который я загрузил. К сожалению, Google Диск неправильно отмечает файл как вирус, поэтому wget не может получить прямую ссылку для загрузки.

То, что я пробовал:

  • с использованием gdrive.pl , что кто-то сделал, но у меня Windows, а /tmp/cookies.txt не существует.

  • выполнение wget --no-check-certificate https://docs.google.com/uc?export=download&id=FILEID - O FILENAME , но в нем указано 400 Bad Request

  • с использованием https:// docs.google.com/uc?export=download&id=ID , но не удается из-за предупреждения загрузить зараженный файл .

Есть ли у кого-нибудь предложения по решению этой проблемы?


0

Вот что я смог сделать, основываясь на отправной точке, которую я нашел на https://medium.com/@acpanjan/download-google-drive-files-using-wget-3c2c025a8b99:

Edit Я заметил, что вы сказали Windows, поэтому эта команда с sed не будет работать изначально в Windows — я поставлю шаги без sed для Окна ниже

Вы, конечно, начинаете с предоставления общего доступа к файлу и получения идентификатора файла по ссылке общего доступа на Google Диске. Затем:

  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 своим идентификатором из ссылки на общий файл. Замените YOUR_FILENAME желаемым именем выходного файла.

При этом выполняется попытка загрузки файла и получение html предупреждающего сообщения о потенциальных вирусах в файле. Он использует файлы cookie, поскольку вам необходимо использовать тот же идентификатор сеанса для последующей загрузки с кодом подтверждения.

Затем он получает сгенерированный код подтверждения из этого ответа и записывает его во временный файл.

Затем я выполняю еще один wget, добавляя код подтверждения в строку запроса для загрузки файла, используя сохраненный файл cookie, чтобы код подтверждения работал для сохраненного сеанса.

Скорее всего, это можно было бы преобразовать в скрипт, передав аргумент идентификатора общей ссылки, чтобы сделать его более полезным.

Для 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-код подтверждения.

  блокнот% TMP%/confirm.txt  

Открывает% TMP%/confirm.txt в Блокноте, чтобы получить строку кода подтверждения (CTRL + F для поиска «confirm =» и получить код сразу после этого). Замените его в приведенной ниже командной строке (вместе с указанием желаемого имени файла и идентификатора ссылки общего доступа с диска Google)

  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  

Улучшить этот ответ
отредактировано 06 марта ’20 в 1:52
ответил 5 марта ‘ 20, 21:17
добавить комментарий |

Вот что я смог сделать, основываясь на отправной точке, которую я нашел на https://medium.com/@acpanjan/ download-google-drive-files-using-wget-3c2c025a8b99:

Edit Я заметил, что вы сказали Windows, поэтому эта команда с sed выиграла не работает изначально в Windows — я опишу шаги без sed для Windows ниже

Вы, конечно же, начнете с совместного использования файла и получения идентификатора файла из ссылки общего доступа на Google Диске . Затем:

  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 своим идентификатором из ссылки на общий файл. Замените YOUR_FILENAME желаемым именем выходного файла.

При этом выполняется попытка загрузки файла и получение html предупреждающего сообщения о потенциальных вирусах в файле.. Он использует файлы cookie, поскольку вам необходимо использовать тот же идентификатор сеанса для последующей загрузки с кодом подтверждения.

Затем он получает сгенерированный код подтверждения из этого ответа и записывает его во временный файл.

Затем я выполняю другой wget, добавляя код подтверждения в строку запроса для загрузки файла, используя сохраненный файл cookie, чтобы код подтверждения работал для сохраненного сеанса.

Скорее всего, это можно было бы преобразовать в скрипт, передав аргумент идентификатора общей ссылки, чтобы сделать его более полезным.

Для 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-код подтверждения.

  блокнот  % TMP%/confirm.txt  

Открывает% TMP%/confirm.txt в Блокноте, чтобы получить строку кода подтверждения (CTRL + F, чтобы найти «confirm =» и получить код сразу после тот). Замените его в приведенной ниже командной строке (вместе с указанием желаемого имени файла и идентификатора ссылки для общего доступа с диска Google)

  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  

Оцените статью
logicle.ru
Добавить комментарий