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

121329
Phil

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

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

48
Ответ прорыва работает, но какой смысл тогда? Просто позвольте FF закончить загрузку. Можете ли вы добавить больше деталей к вашему вопросу? Я собираюсь догадаться, что вы пытаетесь автоматизировать загрузку с помощью какого-то скрипта, а не использовать wget только для gits-n-shiggles. Yoopergeek 14 лет назад 3
когда вы загружаете с Firefox, щелкните правой кнопкой мыши по загрузке в окнах загрузок и выберите ссылку для скачивания. Am1rr3zA 14 лет назад 0
@Yoopergeek: его ответ помогает, если файл очень большой, и вы хотите поместить его в менеджер загрузок. ;) cp2141 14 лет назад 2
@Yoopergeek: OP также упомянул "wget", который является инструментом командной строки linux / unix для передачи файла без какого-либо windowsy UI. Подобные инструменты пригодятся, когда вы используете виртуальную машину в облаке и вам необходимо загрузить программное обеспечение. Поскольку wget просто пытается получить файл, а не отображать рекламу, пока он ждет, когда будет выбрано зеркало, прямой URL-адрес очень важен. mightypile 9 лет назад 0
Cliget addon дает вам команду curl для копирования и вставки в диалоге загрузки. https://addons.mozilla.org/en-US/firefox/addon/cliget Dagelf 6 лет назад 1

15 ответов на вопрос

45
Breakthrough

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

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

Да, это было бы намного проще, чем я предлагал! arathorn 14 лет назад 1
мои мысли, араторн. Я начал печатать ответ, чтобы использовать вкладку «net» в Firebug, но это намного проще! Matt 14 лет назад 0
Кажется, это не работает для меня на github (я пробовал в Firefox, Chrome, Safari). например: https://nodeload.github.com/jverzani/gWidgets2/tarball/master Etienne Low-Décarie 11 лет назад 1
cmd + shift + j на Mac tommy.carstensen 9 лет назад 0
16
Chris W. Rea

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

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

15
arathorn

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

это крутая идея, я попробую это. Я бы проголосовал, если бы не мой низкий представитель;) Phil 14 лет назад 1
что-нибудь для хрома? Anwar 8 лет назад 0
4
ukanth

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

скопировать это откуда? Phil 14 лет назад 1
Если вы приостановите загрузку в окне загрузки Firefox до того, как она завершится, вы можете щелкнуть правой кнопкой мыши и захватить URL-адрес (иногда это делается для запуска URL-адреса на `wget`). nik 14 лет назад 1
4
Dagelf

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

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

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

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

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

3
nik

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

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

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

2
Zitrax

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

1
harrymc

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

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

честно говоря, я не понимаю, что же такого неясного в моем вопросе, некоторые постеры ниже даже на самом деле понятны;) Phil 14 лет назад 1
Если ваша единственная проблема - просто получить URL, то приостановка загрузки работает только для больших файлов, если вы не очень быстро. Вы можете намного проще найти эту информацию в списке менеджера загрузки: щелкните правой кнопкой мыши и сделайте Копировать ссылку для загрузки. harrymc 14 лет назад 0
Для downvoter: не тратьте свое время здесь - это очень старая запись и может не относиться к вам. harrymc 6 лет назад 0
1
Dan Gaz

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

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

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

Похожие вопросы