Provo a scaricare un file con wget
e curl
viene rifiutato con un errore 403 (vietato).
Posso visualizzare il file utilizzando il browser Web sulla stessa macchina.
Riprovo con l'agente utente del mio browser, ottenuto da http://www.whatsmyuseragent.com . Lo faccio:
wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
e
curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
ma è ancora proibito. Quali altri motivi potrebbero esserci per il 403, e quali modi posso modificare i comandi wget
e curl
per superarli?
(non si tratta di poter ottenere il file - so che posso semplicemente salvarlo dal mio browser; si tratta di capire perché gli strumenti da riga di comando funzionano in modo diverso)
aggiornare
Grazie a tutte le eccellenti risposte fornite a questa domanda. Il problema specifico che avevo riscontrato era che il server stava controllando il referrer. Aggiungendo questo alla riga di comando ho potuto ottenere il file usando curl
e wget
.
Il server che ha verificato il referrer è rimbalzato attraverso un 302 in un'altra posizione che non ha eseguito alcun controllo, quindi uno curl
o wget
quel sito ha funzionato in modo pulito.
Se qualcuno è interessato, questo è accaduto perché stavo leggendo questa pagina per conoscere i CSS incorporati e stavo provando a guardare i CSS del sito per un esempio. L'URL effettivo con cui ho avuto problemi era questo e l' curl
ho finito con
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
e il wget è
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
Molto interessante.