Não é possível usar o comando wget

5

Estou usando o Ubuntu 13.10 com servidores proxy, que exigem um ID de usuário e senha.

Não consigo executar o comando wget . Ele retorna:

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

O que pode ser feito para resolver isso?

    
por user251746 24.02.2014 / 11:31

3 respostas

1

Edite seu Resolv conf usando

# sudo vim /etc/resolv.conf

Em seguida, insira o abaixo

nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 4.4.4.4

Substitua 192.168.1.1 pelo seu IP do roteador

Edite este arquivo também se não for o seu DNS irá substituí-lo

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

Em seguida, insira o abaixo

nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 4.4.4.4

Em seguida, Reinicie o seu servidor usando

# sudo /etc/init.d/networking restart
    
por Lonston 24.02.2014 / 11:38
1

Existem duas maneiras de executar wget por trás de um proxy. Defina as variáveis de ambiente apropriadas e wget agirá de acordo com eles ou configure o arquivo de configuração wget - wgetrc .

Defina a variável de ambiente

Antes de definir as variáveis de ambiente, vamos primeiro ver se há alguma variável de proxy predefinida presente. Podemos obter essa informação usando o seguinte comando.

env | grep proxy

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

Se nenhuma variável de ambiente proxy estiver configurada, ela será direcionada para conexões diretas. Vamos dar um exemplo da minha faculdade. Nós usamos um servidor proxy HTTP. A execução de wget sem definir a variável de ambiente http_proxy simplesmente falha. Então, vamos definir este env (variável de ambiente). variável primeiro

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

Agora, execute wget e ele funcionará como um encanto. Se o seu proxy também requer autenticação, por exemplo, nome de usuário e senha, use este formato para definir o env:

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

Da mesma forma, para outro tipo de proxies, defina o env correspondente - ftp_proxy , https_proxy etc.

Por favor, note que os comandos acima estarão em vigor somente até a sessão do usuário expirar, ou seja, executando os comandos acima estamos apenas configurando o env de proxy. para uma sessão, não permanentemente. E normalmente não queremos executar o comando toda vez que fizermos login. Então, para torná-lo permanente, podemos definir o valor na configuração do wget - wgetrc file ou definir o ambiente em ~/.bashrc file.

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

Deve-se notar que, desta forma, podemos estar afetando as configurações de proxy do usuário. A melhor maneira é definir as configurações permanentemente no arquivo de configuração do wget, desta forma, nenhum outro aplicativo. é afetado.

Configurando o arquivo wgetrc

Como a maioria dos aplicativos wget tem um arquivo de configuração também - wgetrc :

  • /etc/wgetrc ou
  • ~/.wgetrc .

O primeiro é para mudanças globais e o último é para configurações locais (específicas do usuário). Nós entraremos nos detalhes mais tarde, vamos apenas ver como aplicar as configurações de proxy. É semelhante a configurar a variável de ambiente do proxy, apenas excluir o comando de exportação. Abra o arquivo ~/.wgetrc file. Se não existir, crie-o.

vim ~/.wgetrc

Agora, adicione a declaração correspondente no arquivo. Leia a seção "Definir a variável de ambiente" para encontrar isso.

Como desativar / desativar as configurações de proxy

Depois de definir as configurações de proxy no arquivo wgetrc , toda vez que você executar wget , ele se conectará automaticamente ao servidor proxy. Às vezes, para downloads locais / baseados em LAN, talvez você não precise do servidor proxy. Nesses casos, podemos desativar as configurações de proxy usando o argumento --no-proxy no comando:

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

Se o proxy solicitar autenticação - nome de usuário & amp; Senha

Já sabemos o formato para definir a variável de ambiente com nome de usuário e senha. O Wget fornece dois métodos para mencionar o nome de usuário e a senha do servidor proxy.

  • Mencione isso no comando na forma de argumentos.
  • Defina os valores no arquivo de configuração, /etc/wgetrc ou ~/.wgetrc

Se a autenticação que você está usando for estática, é melhor configurá-la no arquivo de configuração. Se for apenas uma vez ou se você quiser sobrescrever as configurações no arquivo de configuração, então você pode usar as opções --proxy-user e --proxy-password .

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

Para alterações permanentes, é sempre aconselhável alterar o arquivo de configuração.

Mais uma vez, para alterações globais, modifique o arquivo /etc/wgetrc , caso contrário, use o arquivo ~/.wgetrc . Abra qualquer arquivo e adicione / adicione as seguintes linhas nele.

proxy_user=username
proxy_password=password

Fonte

    
por Noosrep 24.02.2014 / 11:41
0

Para mim, o problema foi avahi-deamon, que estava bagunçando as respostas do DNS para certos nomes de host. Eu tive que desinstalar avahi e tudo funcionou:

sudo apt remove avahi-daemon
    
por qwertzguy 07.02.2017 / 01:14

Tags