2009-08-21 15:03:25 +0000 2009-08-21 15:03:25 +0000
56
56

Jak znaleźć prawdziwy adres URL pobierania na stronach, które używają przekierowań

Załóżmy, że chcę pobrać coś za pomocą wget, ale strona z plikami, których potrzebuję, przekierowuje na stronę, która automatycznie wybiera dla mnie serwer lustrzany (i nie ma podanego statycznego pliku URL).

Pobieranie z takich stron działa w Firefoksie, ale jak uzyskać rzeczywisty adres URL (nie tylko link do strony przekierowującej), żebym mógł pobrać te pliki za pomocą wget?

Odpowiedzi (14)

54
54
54
2009-08-21 15:07:14 +0000

Po uruchomieniu transferu w Firefoksie, anuluj go, kliknij prawym przyciskiem myszy na pobranym pliku i wybierz “Kopiuj link do pobrania”. Jeśli używasz starszej wersji, kliknij prawym przyciskiem myszy i kliknij na “Właściwości”, a link będzie w otwartym oknie.

W Chrome - uruchom pobieranie w normalny sposób - następnie przejdź do Menu - Downloads - i powinieneś zobaczyć bezpośredni link, który został użyty. Lub naciśnij Ctrl + J, aby otworzyć okno.

18
18
18
2009-08-21 15:07:07 +0000

Możesz użyć rozszerzenia LiveHTTPHeaders do określenia rzeczywistego adresu URL pobieranego pliku. (Zwróć uwagę w szczególności na GET).

16
16
16
2009-08-21 16:45:01 +0000

Chociaż lubię też wget, używam innego, podobnego narzędzia: cURL ](http://curl.haxx.se/). cURL posiada funkcję śledzenia przekierowań (-L / --location), i jest również darmowy, jak wget. Sugeruję mieć oba w swoim pasie narzędziowym; mają pewne uzupełniające się funkcje.

Oto interesujący artykuł na który natknąłem się, jak używać wget lub cURL do pobierania ze strony, która używa ciasteczek do uwierzytelniania. Jest tam wzmianka o funkcji cURL –location do śledzenia przekierowań. (W rzeczywistości, w oparciu o brak specjalnej flagi wspomnianej dla wget, wydaje mi się, że wget może śledzić przekierowania implicite…?)

6
6
6
2017-08-09 05:29:36 +0000

To jest odpowiedź, której szukałeś!

Istnieje tylko jedno, niezawodne rozwiązanie typu “one-click”: cliget

Daje ci polecenie curl z nagłówkami, ciasteczkami i wszystkim, z przyciskiem kopiowania do schowka, bezpośrednio w oknie dialogowym pobierania.

Dla Firefox : https://addons.mozilla.org/en-US/firefox/addon/cliget

Nie łączę tutaj curlwget dla Chrome, ponieważ jest brzydki. Proszę zaktualizować tę odpowiedź, jeśli Chrome dostanie równie elegancki odpowiednik.

4
4
4
2009-09-10 13:17:29 +0000

W takich sytuacjach, najpierw rozpoczynam rzeczywiste pobieranie, wstrzymuję je i kopiuję adres URL.

3
3
3
2009-09-10 13:18:17 +0000

Zwykle używam firefox DownThemAll addon, gdy jest dużo linków do pobrania i muszę wybrać konkretne adresy URL.

Pokazuje on pełny adres URL i pozwala na dodanie w trybie wstrzymania, dzięki czemu można rozpocząć pobieranie, kiedy się chce.

Jako dodatkową funkcję, możesz złapać adres URL i całkowicie pominąć pobieranie.
Jednakże, jeśli musisz pobrać plik, DownThemAll jest całkiem niezły jako akcelerator.

2
2
2
2010-11-15 16:55:02 +0000

Czy nie możesz użyć wget bezpośrednio używając flagi --trust-server-name ? Będzie on pobierał i zapisywał pliki używając nazwy pliku, do którego przekierowuje.

1
1
1
2011-12-28 20:58:41 +0000

Możesz użyć Curl do pobrania przekierowanego adresu URL :

curl --location http://domainName/fileName 2> /dev/null > fileName
1
1
1
2009-09-10 13:16:36 +0000

Twoje pytanie jest trochę niejasne. Są tutaj 2 adresy URL: ten, którego używasz i ten, który powrócił po przekierowaniu. Pierwszy z nich powinieneś znać, ponieważ pochodzi on z Twojego komputera, natomiast drugi to ten, który wyświetlił się w Twojej przeglądarce. Jeśli pytanie dotyczy tego, gdzie znajduje się plik na przekierowanym serwerze, to nie ma sposobu, aby się tego dowiedzieć.

Jeśli próbujesz debugować wywołania kierowane do serwera, możesz użyć dodatku do firefoxa o nazwie firebug, jego starsze wersje istnieją tutaj: https://addons.mozilla.org/en-US/firefox/addons/versions/1843 .

0
0
0
2009-09-10 13:10:20 +0000

Dla Firefoksa istniał dodatek o nazwie Splitlink. Nie działa on dla Firefoksa 3+, ale działał w Firefoksie 2. Jeśli możesz go znaleźć gdziekolwiek (nie ma go już na oficjalnej stronie dodatków), da ci więcej informacji o prawdziwym adresie URL.

0
0
0
2009-08-21 17:27:33 +0000

Czy próbowałeś przekazać adres URL przekierowania do wget? Czasami działają dla mnie.

Tutaj przykład z 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]

Wersja, której używam:

$ wget --version
GNU Wget 1.10.2
```.
-1
-1
-1
2010-11-15 17:12:26 +0000

Jeśli chcesz, aby menedżer pobierania obsługiwał pobieranie zamiast firefoxa, możesz użyć dodatku do firefoxa Flashgot.

-1
-1
-1
2009-09-10 14:05:36 +0000

Adres url kopii firefoxa jest zdecydowanie najprostszy. wget (jak pytanie zostało oznaczone) jest również miłym rozwiązaniem, ponieważ możesz zobaczyć wszystkie pośrednie odbicia, a nie tylko ostateczny adres 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-098_setup.exe’`

10% [=======] 1,818,064 609K/s

-1
-1
-1
2013-06-18 05:11:04 +0000

Możesz użyć narzędzia netcat (które jest często dołączane do dystrybucji linuxowych) na porcie 80 strony internetowej. To pokazuje pełną surową odpowiedź HTTP, w tym nagłówki, które zawierają docelowy adres URL przekierowania. Jest to jeden z najbardziej bezpośrednich sposobów, aby uzyskać lokalizację przekierowania, ponieważ robisz to samo, co robią downloadery, gdy _podążają za przekierowaniami. Oto przykład dla adresu 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

…lub…

Alternatywnie, wiele przeglądarek pokazuje rzeczywisty adres URL pobierania w sekcji Downloads. W nich można rozpocząć pobieranie i od razu je anulować, a następnie skopiować adres URL (z historii pobierania).