Próbuję pobrać plik za pomocą wget
i curl
i jest on odrzucany z błędem 403 (zabronione).
Mogę wyświetlić plik za pomocą przeglądarki internetowej na tym samym komputerze.
Próbuję ponownie z klientem przeglądarki, uzyskanym przez http://www.whatsmyuseragent.com . Robię to:
wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
i
curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
ale nadal jest zabronione. Jakie mogą być inne powody dla 403 i w jaki sposób mogę zmienić polecenia wget
i curl
, aby je pokonać?
(nie chodzi o to, że mogę pobrać plik - wiem, że mogę go zapisać w przeglądarce; chodzi o zrozumienie, dlaczego narzędzia wiersza poleceń działają inaczej)
aktualizacja
Dzięki wszystkim doskonałym odpowiedziom udzielonym na to pytanie. Konkretny problem, jaki napotkałem, polegał na tym, że serwer sprawdzał stronę odsyłającą. Dodając to do wiersza poleceń, mógłbym pobrać plik za pomocą curl
i wget
.
Serwer, który sprawdził odsyłającą odesłana przez 302 do innego miejsca, które wykonaliśmy żadnych kontroli w ogóle, a więc curl
albo wget
o tym miejscu pracował równo.
Jeśli ktoś jest zainteresowany, stało się tak, ponieważ czytałem tę stronę, aby dowiedzieć się o wbudowanym CSS i próbowałem spojrzeć na css witryny na przykład. Rzeczywisty adres URL, z którym miałem problem, był taki, a curl
skończyło się na nim
curl -L -H 'Referer: http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
a wget jest
wget --referer='http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
Bardzo interesujące.