50

Допустим, я хочу скачать что-то с помощью wget но веб-сайт, содержащий файлы, которые мне нужны, перенаправляет на сайт, который автоматически выбирает для меня зеркало (и не предоставляется статический URL-адрес файла).

Загрузка с таких сайтов работает с Firefox, но как мне получить реальный URL (не только ссылку на страницу перенаправления), чтобы я мог загрузить эти файлы с помощью wget?

15 ответов15

46

Когда вы начали перенос в Firefox, отмените его, щелкните правой кнопкой мыши загрузку и нажмите "Скопировать ссылку на скачивание". Если вы используете более старую версию, щелкните ее правой кнопкой мыши и выберите "Свойства", и в открывшемся окне появится ссылка.

В Chrome - запустите загрузку как обычно - затем перейдите в Меню - Загрузки - и вы увидите прямую ссылку, которая была использована. Или нажмите Ctrl + J, чтобы открыть окно.

17

Вы можете использовать расширение LiveHTTPHeaders, чтобы определить фактический URL-адрес загружаемого файла. (Следите за GET в частности.)

16

Хотя я тоже люблю wget, я использую другой похожий инструмент: cURL. В cURL есть функция отслеживания перенаправлений (-L / --location), и она также бесплатна, как wget. Я предлагаю держать оба в вашем инструментальном поясе; у них есть некоторые дополнительные функции.

Вот интересная статья о том, как использовать wget или cURL для загрузки с сайта, который использует куки для аутентификации. Есть упоминание о функции cURL --location для отслеживания перенаправлений. (На самом деле, исходя из отсутствия специального флага, упомянутого для wget, мне кажется, что wget может неявно следовать за редиректами ...?)

4

В этих ситуациях сначала я запускаю реальную загрузку, приостанавливаю ее и копирую URL.

4

Это ответ, который вы так долго искали!

Существует только одно надежное решение в один клик: cliget

Он дает вам команду curl с заголовками, файлами cookie и всем остальным, с кнопкой копирования в буфер обмена, прямо в диалоговом окне загрузки.

Для Firefox: https://addons.mozilla.org/en-US/firefox/addon/cliget

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

3

Я обычно использую аддон Firefox DownThemAll, когда есть много ссылок для загрузки, и мне нужно выбрать конкретные URL-адреса.

Он показывает полный URL-адрес и позволяет добавлять в режиме паузы, чтобы вы могли начать загрузку, когда захотите.

В качестве дополнительной функции вы можете получить URL и вообще пропустить загрузку.
Однако, если вам нужно скачать файл, DownThemAll довольно хорош в качестве ускорителя.

2

Разве вы не можете использовать wget напрямую, используя --trust-server-name ? Он будет загружен и сохранен с использованием имени файла, на которое он перенаправляет.

1

Ваш вопрос немного неясен. Здесь есть 2 URL-адреса: тот, который вы используете, и тот, который вернулся после перенаправления. Первое, что вы должны знать, поскольку оно возникло на вашем компьютере, а второе - это то, что отображается в вашем браузере. Если вопрос относится к тому, где файл находится на перенаправленном сервере, тогда нет никакого способа узнать.

Если вы пытаетесь отлаживать звонки на сервер, вы можете использовать Firefox-дополнение Firefox, более старые версии которого можно найти здесь: https://addons.mozilla.org/en-US/firefox/addons/ версии / 1843.

1

Вы можете использовать Curl для загрузки перенаправленного URL:

curl --location http://domainName/fileName 2> /dev/null > fileName
0

Существовал аддон для Firefox под названием Splitlink. Он не работает для Firefox 3+, но он работал в Firefox 2. Если вы можете найти его где-либо (его больше нет на официальной странице дополнений), он даст вам больше информации о реальном URL.

0

Вы можете использовать IDM (Internet Download Manager), когда вы нажимаете на ссылку не для прямой загрузки, она перенаправляет ссылку и показывает прямую ссылку.

0

Вы пытались передать URL перенаправления на wget? Иногда они работают на меня.

Вот пример из SourceForge:

$ wget http://sourceforge.net/projects/emule/files/eMule/0.49c/eMule0.49c-Installer.exe/download?use_mirror=ufpr,Centro%20de%20Computacao%20Cientifica%20e%20Software%20Livre
--14:23:20--  http://sourceforge.net/projects/emule/files/eMule/0.49c/eMule0.49c-Installer.exe/download?use_mirror=ufpr,Centro%20de%20Computacao%20Cientifica%20e%20Software%20Livre
Resolvendo sourceforge.net... 216.34.181.60
Connecting to sourceforge.net|216.34.181.60|:80... conectado!
HTTP requisição enviada, aguardando resposta... 302 Found
Localização: http://downloads.sourceforge.net/project/emule/eMule/0.49c/eMule0.49c-Installer.exe?use_mirror=ufpr [seguinte]
--14:23:21--  http://downloads.sourceforge.net/project/emule/eMule/0.49c/eMule0.49c-Installer.exe?use_mirror=ufpr
Resolvendo downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... conectado!
HTTP requisição enviada, aguardando resposta... 302 Found
Localização: http://ufpr.dl.sourceforge.net/project/emule/eMule/0.49c/eMule0.49c-Installer.exe [seguinte]
--14:23:21--  http://ufpr.dl.sourceforge.net/project/emule/eMule/0.49c/eMule0.49c-Installer.exe
Resolvendo ufpr.dl.sourceforge.net... 200.236.31.1, 200.17.202.1
Connecting to ufpr.dl.sourceforge.net|200.236.31.1|:80... conectado!
HTTP requisição enviada, aguardando resposta... 200 OK
Tamanho: 3342809 (3,2M) [application/x-msdos-program]
Saving to: `eMule0.49c-Installer.exe'

100%[====================================================================================>] 3.342.809   2,35M/s   in 1,4s

14:23:23 (2,35 MB/s) - `eMule0.49c-Installer.exe' saved [3342809/3342809]

Версия, которую я использую:

$ wget --version
GNU Wget 1.10.2 
-1

Копия URL Firefox определенно самая простая. wget (так как вопрос был помечен) также является хорошим решением, потому что вы можете видеть все промежуточные скачки, а не только окончательный URL:

$ wget 'http://sourceforge.net/projects/pdfcreator/files/PDFCreator/PDFCreator%200.9.8/PDFCreator-0_9_8_setup.exe/download'
--2009-09-10 09:59:53--  http://sourceforge.net/projects/pdfcreator/files/PDFCreator/PDFCreator%200.9.8/PDFCreator-0_9_8_setup.exe/download
Resolving sourceforge.net... 216.34.181.60
Connecting to sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://downloads.sourceforge.net/project/pdfcreator/PDFCreator/PDFCreator%200.9.8/PDFCreator-0_9_8_setup.exe?use_mirror=voxel [following]
--2009-09-10 09:59:54--  http://downloads.sourceforge.net/project/pdfcreator/PDFCreator/PDFCreator%200.9.8/PDFCreator-0_9_8_setup.exe?use_mirror=voxel
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://voxel.dl.sourceforge.net/project/pdfcreator/PDFCreator/PDFCreator%200.9.8/PDFCreator-0_9_8_setup.exe [following]
--2009-09-10 09:59:54--  http://voxel.dl.sourceforge.net/project/pdfcreator/PDFCreator/PDFCreator%200.9.8/PDFCreator-0_9_8_setup.exe
Resolving voxel.dl.sourceforge.net... 74.63.52.167, 69.9.191.19, 69.9.191.18, ...
Connecting to voxel.dl.sourceforge.net|74.63.52.167|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17695920 (17M) [application/octet-stream]
Saving to: `PDFCreator-0_9_8_setup.exe'

10% [=======>] 1 818 064 609 К / с

-1

Вы можете использовать инструмент netcat (который часто входит в дистрибутивы Linux) на порт 80 веб-сайта. Здесь показан полный необработанный HTTP-ответ, включая заголовки, содержащие целевой URL перенаправления. Это один из самых прямых способов получить местоположение перенаправления, поскольку вы делаете то же самое, что и загрузчики, когда они следуют за перенаправлениями. Вот пример для URL http://www.example.com/example .

printf 'GET /example HTTP/1.1\r\nHost: www.example.com\r\n\r\n' | netcat www.example.com 80

...или же...

Кроме того, многие браузеры отображают фактический URL-адрес загрузки в разделе « Downloads ». В них вы можете сразу начать загрузку и отменить ее, а затем скопировать URL (из истории загрузок).

-1

Если вы хотите, чтобы менеджер загрузок обрабатывал загрузку вместо Firefox, вы можете использовать дополнение Flashgot Firefox.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .