Tak, czasami .
Często zdarzają się dwie rzeczy. Twój link już nie działa, więc nie jestem pewien rzeczywistego scenariusza w tym przypadku, więc podsumuję inny link.
Przekierowanie HTTP
Oto, co widzisz w przypadku Bit.ly
innych usług. Następnie należy podać odpowiedź przekierowania HTTP. Podczas odwiedzania strony http://bit.ly/oH3410 następuje przekierowanie do faktycznego adresu URL. Czasami jeden adres URL przekierowuje na inny. Możesz to zobaczyć, jeśli podłączysz adres URL do http://web-sniffer.net/ lub za pomocą [curl][1] -I http://bit.ly/oH3410
zobaczysz zwroty 301 wskazujące na nową lokalizację.
Aby poradzić sobie z przekierowaniem HTTP, wystarczy zapętlić żądanie HTTP HEAD, dopóki nie przestaniesz otrzymywać odpowiedzi w latach 300-tych (mam nadzieję, że dostaniesz 200). Pamiętaj, że mogą przekierowywać w pętli, która nigdy się nie skończy. Możesz to zrobić za pomocą CURL lub dowolnego narzędzia HTTP.
Strona pobierania
Z tego korzysta większość witryn pobierania. Klikasz link do pobrania, co prowadzi do strony z wieloma reklamami i mówi „Twoje pobieranie wkrótce się rozpocznie” coś podobnego. [ Przykład ]. Dzięki nim możesz spróbować parsować rzeczywisty bezpośredni link z adresu URL, ale byłoby to specyficzne dla witryny, a większość stron nie będzie go zawierała, aby zapobiec obchodzeniu go. Odbywa się to za pomocą meta http-equiv="refresh"
znacznika w nagłówku lub JavaScript (najczęściej). JS zazwyczaj ma jednak awarię nagłówka.
Istnieje jednak rozwiązanie. Jeśli spojrzysz na źródło na stronie pobierania, zwykle zobaczysz <meta http-equiv="refresh">
tag (zwykle w <noscript>
tagu) z atrybutem URL
tego wskazującym na rzeczywiste pobieranie. Więc użyj CURL (lub innego narzędzia HTTP), aby pobrać stronę, przeanalizować ją i pobrać tę wartość. Witryna może to jednak wykluczyć, jeśli chce być naprawdę paskudna, co wymaga JavaScript do pobierania plików.
Prawdopodobnie istnieje również blok JavaScript, który prowadzi również do pobierania. Może być zaciemniony lub połączony z innego adresu URL. Twój przebieg może się różnić, próbując to przeanalizować. Na stronie może również znajdować się „bezpośredni link”. Możesz wypróbować kilka technik, aby to znaleźć, ale znowu można to zaciemnić za pomocą JavaScript lub nawet całkowicie pominąć.
edit
aby zobaczyć źródło Markdown dotyczące tego, jak to zrobiłem.