Impossibile usare il comando wget

5

Sto usando Ubuntu 13.10 con server proxy, che richiedono un ID utente e una password.

Non riesco a eseguire il comando wget . Restituisce:

Resolving sourceforge.net (sourceforge.net)... failed: Name or service not known.
wget: unable to resolve host address ‘sourceforge.net’

Che cosa si può fare per risolvere questo problema?

    
posta user251746 24.02.2014 - 11:31

3 risposte

1

Modifica il tuo Resolv conf usando

# sudo vim /etc/resolv.conf

Quindi inserisci il sotto

nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 4.4.4.4

Sostituisci 192.168.1.1 con l'IP del tuo router

Modifica questo file anche se il tuo DNS non lo sovrascriverà

# sudo vim /etc/resolvconf/resolv.conf.d/base

Quindi inserisci il sotto

nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 4.4.4.4

Quindi Riavvia il tuo server usando

# sudo /etc/init.d/networking restart
    
risposta data Lonston 24.02.2014 - 11:38
1

Ci sono due modi per eseguire wget dietro a un proxy. O imposta le variabili di ambiente appropriate e wget agirà in base a loro o configurerà il file di configurazione wget - wgetrc .

Imposta la variabile di ambiente

Prima di impostare le variabili di ambiente, vediamo prima se sono presenti variabili proxy preimpostate. Possiamo ottenere queste informazioni usando il seguente comando.

env | grep proxy

http_proxy=http://foo.bar:3128
no_proxy=localhost,127.0.0.1

Se non è impostata alcuna variabile di ambiente proxy, andrà per le connessioni dirette. Facciamo un esempio del mio college. Usiamo un server proxy HTTP. L'esecuzione di wget senza impostare la variabile d'ambiente http_proxy non ha esito positivo. Quindi, consente di impostare questa env (variabile di ambiente). variabile prima

export http_proxy="http://foo.bar:8080"

Ora, esegui wget e dovrebbe funzionare come un incantesimo. Se il proxy richiede anche l'autenticazione, nome utente e password, utilizzare questo formato per impostare env:

export http_proxy="http://username:[email protected]:8080"

Allo stesso modo, per un altro tipo di proxy, imposta il corrispondente env - ftp_proxy , https_proxy ecc.

Si noti che i comandi di cui sopra saranno effettivi solo fino alla scadenza della sessione utente, cioè eseguendo i comandi sopra indicati, stiamo semplicemente impostando il proxy env. per una sessione, non in modo permanente. E di solito non vorremmo eseguire il comando ogni volta che effettuiamo il login. Quindi, per renderlo permanente, possiamo impostare il valore nel file di configurazione di wget - wgetrc o impostare l'ambiente in ~/.bashrc file.

echo "export http_proxy=http://foo.bar:8080/" | tee -a ~/.bashrc

Va notato che, in questo modo, potremmo influire sulle impostazioni del proxy dell'utente. Un modo migliore è impostare le impostazioni in modo permanente nel file di configurazione di wget, in questo modo nessun'altra app. è interessato.

Configurazione del file wgetrc

Come la maggior parte delle applicazioni wget ha anche un file di configurazione - wgetrc :

  • /etc/wgetrc o
  • % Co_de%.

Il primo è per le modifiche globali e il secondo è per le impostazioni locali (specifico dell'utente). Andremo nei dettagli più tardi, vediamo solo come applicare le impostazioni del proxy. È simile all'impostazione della variabile di ambiente proxy, basta escludere il comando di esportazione. Apri il file ~/.wgetrc file. Se uno non esiste, quindi crearlo.

vim ~/.wgetrc

Ora aggiungi l'istruzione corrispondente nel file. Leggi la sezione "Imposta la variabile d'ambiente" per trovare questo.

Come disabilitare / disattivare le impostazioni del proxy

Dopo aver configurato le impostazioni del proxy nel file ~/.wgetrc , ogni volta che si esegue wgetrc , si connetterà automaticamente al server proxy. A volte per i download basati su LAN / locali, potrebbe non essere necessario il server proxy. In tali casi possiamo disattivare le impostazioni del proxy utilizzando l'argomento wget nel comando:

wget --no-proxy http://10.0.0.1/file.tgz

Se il proxy richiede l'autenticazione - Nome utente & amp; Password

Conosciamo già il formato per l'impostazione della variabile di ambiente con nome utente e password. Wget ti fornisce due metodi per menzionare il nome utente e la password per il server proxy.

  • Menzionalo nel comando sotto forma di argomenti.
  • Imposta i valori nel file di configurazione, --no-proxy o /etc/wgetrc

Se l'autenticazione che stai utilizzando è statica, è meglio impostarla nel file di configurazione. Se è solo una volta o se vuoi sovrascrivere le impostazioni nel file di configurazione, puoi utilizzare le opzioni ~/.wgetrc e --proxy-user .

wget --proxy-user=username --proxy-password=password http://foo.bar/file.tgz

Per le modifiche permanenti, è sempre consigliabile modificare il file di configurazione.

Ancora una volta, per le modifiche globali, modifica il file --proxy-password altrimenti vai per /etc/wgetrc file. Apri uno qualsiasi dei file e aggiungi / aggiungi le seguenti righe al suo interno.

proxy_user=username
proxy_password=password

Source

    
risposta data Noosrep 24.02.2014 - 11:41
0

Per me il problema era avahi-deamon che stava rovinando le risposte DNS per certi nomi di host. Ho dovuto disinstallare avahi e tutto ha funzionato:

sudo apt remove avahi-daemon
    
risposta data qwertzguy 07.02.2017 - 01:14

Leggi altre domande sui tag