Як дізнатися реальну URL-адресу завантаження на веб-сайтах, що використовують переспрямування


54

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

Завантаження з таких сайтів працює з Firefox, але як я можу отримати справжній URL (не лише посилання на сторінку переадресації), щоб я міг завантажувати ці файли за допомогою wget?


3
Відповідь прориву працює, але в чому тоді сенс? Дозвольте FF закінчити завантаження. Чи можете ви додати більше деталей до свого питання? Я здогадуюсь, що ви намагаєтеся автоматизувати завантаження через якийсь сценарій, а не використовувати wget лише для gits-n-shiggles.
Yoopergeek

2
при завантаженні з Firefox клацніть правою кнопкою миші на вашому завантаженні у вікні завантаження та виберіть посилання для завантаження копії
Am1rr3zA

2
@Yoopergeek: Його відповідь допомагає, якщо файл надзвичайно великий і ви хочете помістити його в менеджер завантажень. ;)
cp2141

@Yoopergeek: ОП також згадував "wget", який є інструментом командного рядка linux / unix для передачі файлу без віконного інтерфейсу Windows. Такі інструменти корисні, коли ви запускаєте віртуальну машину в хмарі та потребуєте завантаження програмного забезпечення. Оскільки wget просто намагається отримати файл, а не відображати рекламу, поки він чекає вибору дзеркала, пряма URL-адреса є важливою.
mightypile

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

Відповіді:


52

Коли ви розпочали передачу у Firefox, скасуйте її та клацніть правою кнопкою миші на завантаження та натисніть "Скопіювати посилання на завантаження". Якщо ви використовуєте старішу версію, клацніть правою кнопкою миші та натисніть "Властивості", і посилання буде у вікні, яке відкриється.

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


1
Так, це було б набагато простіше, ніж те, що я запропонував!
араторн

мої думки також, араторн. Я почав набирати відповідь, щоб використовувати вкладку 'net' у Firebug, але це набагато простіше!
Метт

1
Здається, це не працює для мене на github (я спробував у Firefox, Chrome, Safari). Наприклад: nodeload.github.com/jverzani/gWidgets2/tarball/master
Etienne Low-Décarie

cmd + shift + j на Mac
tommy.carstensen

18

Ви можете використовувати розширення LiveHTTPHeaders, щоб визначити фактичну URL-адресу завантажуваного файлу. (Слідкуйте за GETs зокрема.)


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

щось для хрому?
Анвар

Я знаю, що це стара тема, але хотів дати +1 для цієї відповіді. Найкраще рішення, безумовно, прийнятне для більшості випадків. У мене є веб-інтерфейс інвентаризації, який я хотів легко експортувати всі свої пристрої у форматі CSV за допомогою кнопки експорту. Щоб зробити цей сценарій, я взяв вашу пораду "слідкуйте за GET" і перевірив вкладку мережі у F12, щоб побачити файл, який завантажували експортом. Звідти, як мінімум, у chrome, ви можете клацнути правою кнопкою миші цей файл і зробити копіювати> копіювати як cURL. Я замінив ім'я пристрою як змінну у посиланні і поставив його в циклі for bash для
згортання

16

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

Ось цікава стаття, яку я натрапив на тему, як використовувати wget або cURL для завантаження з сайту, який використовує файли cookie для аутентифікації. Згадка про функцію розташування cURL - розташування для переадресації. (Насправді, виходячи з жодного спеціального прапора для wget, мені здається, що wget може слідувати переадресації неявно.?)


5

Це відповідь, яку ви шукали!

Є лише одне нерозумне рішення одним клацанням миші: кліт

Він дає команду curl із заголовками, файлами cookie та всіма файлами, із кнопкою "Копіювати у буфер обміну", прямо у діалоговому вікні завантаження.

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

Я тут не пов'язую curlwget для Chrome, тому що це некрасиво. Оновіть цю відповідь, якщо Chrome отримає настільки ж елегантний еквівалент.


Дякую! Це спрацювало як шарм
mudassirkhan19

4

У таких ситуаціях спочатку я запускаю фактичне завантаження і призупиняю його і копіюю URL-адресу.


1
скопіювати його звідки?
Phil Phil

1
Якщо ви призупинили завантаження у вікні завантаження Firefox, перш ніж воно завершиться, ви можете натиснути правою кнопкою миші та схопити URL-адресу (зробили це, щоб wgetінколи запускати URL-адресу ).
nik

3

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

Він показує повну URL-адресу і дозволяє додавати в призупиненому режимі, щоб ви могли розпочати завантаження, коли вам подобається.

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


2

Ви не можете використовувати wget безпосередньо, використовуючи --trust-server-nameпрапор? Він завантажить і збереже, використовуючи ім'я файлу, на яке він перенаправляє.


1

Ваше запитання трохи незрозуміле. Тут є два URL-адреси: той, який ви використовуєте, і той, який повернувся після перенаправлення. Перше, що вам слід знати, оскільки воно походить з вашої машини, а друге - це те, що відображається у вашому браузері. Якщо питання стосується того, де знаходиться файл на перенаправленому сервері, то знати його немає ніякого способу.

Якщо ви намагаєтесь налагоджувати виклики, що надходять на сервер, ви можете використовувати надбудову firefox Firebug, старіші версії його існують тут: https://addons.mozilla.org/en-US/firefox/addons/ версії / 1843 .


1
чесно кажучи, я не розумію, що так незрозуміло в моєму питанні, деякі плакати нижче навіть насправді зрозуміли;)
Phil

Якщо вашою єдиною проблемою є лише отримання URL-адреси, призупинення завантаження працює лише для великих файлів, якщо ви не дуже швидкі. Ви можете набагато простіше просто знайти цю інформацію у списку менеджера завантажень: клацніть правою кнопкою миші та скопіюйте посилання Copy.
harrymc

Для переслідувача: Не витрачайте тут свій час - це дуже стара публікація і може не стосуватися вас.
harrymc


0

Ви можете використовувати IDM (Інтернет-менеджер завантажень), коли натискаєте на посилання не прямого завантаження, воно перенаправить посилання та відобразить пряме посилання.


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.