Как узнать реальный URL загрузки на сайтах загрузки, которые используют перенаправления


55

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

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


3
Ответ прорыва работает, но какой тогда смысл? Просто позвольте FF закончить загрузку. Можете ли вы добавить больше деталей к вашему вопросу? Я собираюсь догадаться, что вы пытаетесь автоматизировать загрузку с помощью какого-то скрипта, а не использовать wget только для gits-n-shiggles.
Yoopergeek

2
когда вы загружаете с помощью Firefox, щелкните правой кнопкой мыши по загрузке в окнах загрузок и выберите ссылку для скачивания
Am1rr3zA

2
@Yoopergeek: его ответ помогает, если файл очень большой, и вы хотите поместить его в менеджер загрузок. ;)
cp2141 10.09.09

@Yoopergeek: OP также упомянул "wget", который является инструментом командной строки linux / unix для передачи файла без какого-либо windowsy интерфейса вообще. Подобные инструменты пригодятся, когда вы используете виртуальную машину в облаке и вам необходимо загрузить программное обеспечение. Так как wget просто пытается получить файл, а не отображать рекламу, пока он ждет, когда будет выбрано зеркало, прямая ссылка очень важна.
Могучий

1
Cliget addon дает вам команду curl для копирования и вставки в диалоге загрузки. addons.mozilla.org/en-US/firefox/addon/cliget
Dagelf

Ответы:


53

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

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


1
Да, это было бы намного проще, чем я предлагал!
Араторн

мои мысли, араторн. Я начал набирать ответ, чтобы использовать вкладку «net» в Firebug, но это намного проще!
Мэтт

1
Кажется, это не работает для меня на github (я пробовал в Firefox, Chrome, Safari). например: nodeload.github.com/jverzani/gWidgets2/tarball/master
Этьен Лоу-Декари,

cmd + shift + j на Mac
tommy.carstensen

18

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


1
это крутая идея, я попробую это. я бы проголосовал, если бы не мой низкий представитель;)
Фил

что-нибудь для хрома?
Анвар

Я знаю, что это старая ветка, но хотел дать +1 за этот ответ. Лучшее решение определенно приемлемо для большинства случаев. У меня есть веб-интерфейс инвентаризации, из которого я хотел легко экспортировать все свои устройства в формате CSV, используя кнопку их экспорта. Чтобы создать этот сценарий, я воспользовался вашим советом «следить за GET» и проверил вкладку «сеть» в F12, чтобы увидеть файл, который загружался при экспорте. Оттуда, по крайней мере, в Chrome, вы можете щелкнуть правой кнопкой мыши по этому файлу и сделать copy> copy as cURL. Я заменил имя устройства в качестве переменной в ссылке и поместил его в цикл for в bash to curl
user2856414

16

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

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


5

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

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

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

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

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


Спасибо! Это работало как шарм
mudassirkhan19

4

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


1
скопировать это откуда?
Фил

1
Если вы приостановите загрузку в окне загрузки Firefox до того, как она завершится, вы можете щелкнуть правой кнопкой мыши и захватить URL-адрес (сделали это, чтобы wgetиногда запускать URL-адрес ).
Ник

3

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

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

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


2

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


1

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

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


1
честно говоря, я не понимаю, что же так неясно в моем вопросе, некоторые постеры ниже даже на самом деле понятны;)
Фил

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

Для downvoter: не тратьте свое время здесь - это очень старая запись и может не относиться к вам.
harrymc


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 

0

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


-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 609K/s


-1

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


-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 (из истории загрузок).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.