2010-04-18 11 views
34

Come si impedisce wget dai seguenti reindirizzamenti?wget: non seguire i reindirizzamenti

+0

serverfault.com? –

+0

301 reindirizza nel mio caso 'wget --mirror http: // some.url' dove 'index? Q = 1' viene salvato come duplicato di'/pretty/urls/'nonostante la richiesta iniziale di index che restituisce un HTTP 301 Spostato Reindirizzamento permanente. – here

risposta

34

--max-redirect 0

Non ho provato questo, sarà o consentirà nessuno o consentire infinita ..

+0

Penso che si possa anche fare --level = 1 o -l = 1 per fare 1 livello di reindirizzamento. --level = 0 è uguale a --level = inf, che è infinito. – MJB

+0

Questo ha funzionato per me. –

+4

Sfortunatamente, questo non funziona se si desidera recuperare il corpo della risposta di un reindirizzamento ... – user2428118

1

Alcune versioni di wget hanno un --max-redirect opzione: Vedere here

+0

my non ha :( – flybywire

7

Usa curl senza -L invece di wget.

+0

Questa risposta alla mia domanda "perché curl -O non funziona su mac". – simpatico

+0

nel mio ambiente wget ha più accesso di curl –

+0

@ arcmarks.com: cosa significa "più accesso"? –

3

wget segue fino a 20 reindirizzamenti per impostazione predefinita. Tuttavia, non include gli host. Se hai chiesto a wget di scaricare example.com, non toccherà nessuna risorsa allo www.example.com. wget lo rileva come una richiesta di estendersi a un altro host e decidere contro di esso.

In breve, si dovrebbe probabilmente essere in esecuzione:

wget --mirror www.example.com 

Piuttosto che

wget --mirror example.com 

Ora diciamo che il proprietario di www.example.com ha diversi sottodomini a example.com e siamo interessati a tutti loro. Come procedere?

Prova questa:

wget --mirror --domains=example.com example.com 

wget sarà ora visitare tutti i sottodomini di example.com, tra cui m.example.com e www.example.com.

+0

uh ... non usando mirror, voglio solo l'intestazione da un 302, non voglio che segua il 302. come faccio? – Michael

Problemi correlati