2013-06-19 12 views
29

Kiedy uruchomić polecenie:Miejsca nieakceptowania nagłówek agenta wget użytkownika

wget --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" http://yahoo.com 

... uzyskać ten rezultat (z niczym innym w pliku):

<!-- hw147.fp.gq1.yahoo.com uncompressed/chunked Wed Jun 19 03:42:44 UTC 2013 --> 

Ale kiedy biegnę wget http://yahoo.com bez opcji --user-agent, otrzymuję całą stronę.

Agent użytkownika jest tym samym nagłówkiem, który wysyła moja aktualna przeglądarka. Dlaczego to się dzieje? Czy istnieje sposób, aby upewnić się, że agent użytkownika nie zostanie zablokowany podczas korzystania z wget?

Odpowiedz

51

Wygląda na to, że serwer Yahoo robi heurystykę opartą na User-Agent w nagłówku Accept ustawionym na */*.

Accept: text/html

wystarczyły dla mnie.

np.

wget --header="Accept: text/html" --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" http://yahoo.com 

Uwaga: jeśli nie deklarują Accept nagłówek następnie wget automatycznie dodaje Accept:*/* co oznacza, daj mi coś masz.

+0

To nie tylko Yahoo odfiltrowuje takie żądania - Coś, o czym zawsze należy pamiętać! – user3791372

0

Musisz ustawić zarówno user-agent i odsyłający:

wget --header="Accept: text/html" --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" --referrer connect.wso2.com http://dist.wso2.org/products/carbon/4.2.0/wso2carbon-4.2.0.zip 
22

stworzyłem plik ~/.wgetrc o następującej treści (otrzymanego z askapache.com ale z nowszej agenta użytkownika, ponieważ w przeciwnym razie nie działa zawsze):

header = Accept-Language: en-us,en;q=0.5 
header = Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
header = Connection: keep-alive 
user_agent = Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0 
referer =/
robots = off 

Teraz mogę pobrać z większości (wszystkich?) serwisów do udostępniania plików (strumieniowe wideo).

+0

To zadziałało dobrze dla mnie. –

Powiązane problemy