Pular para o conteúdo
Guides 6 min de leitura 827 visualizações

Configuração de proxy para o wget

Domine a configuração de proxy no wget com nosso guia completo. Aprenda a configurar e usar um servidor proxy com o wget para downloads seguros.

Configuração de proxy para o wget

Para configurar o wget para baixar através de um proxy, defina as variáveis de ambiente http_proxy, https_proxy ou ftp_proxy, especifique os detalhes do proxy por opções de linha de comando ou defina-os em um arquivo de configuração .wgetrc.

A configuração de proxy para o wget é necessária quando o acesso direto à internet é restringido por firewalls, para rotear tráfego por uma rede específica ou para fins de anonimização. O wget suporta os protocolos HTTP, HTTPS e FTP tanto para os recursos de destino quanto para as conexões de proxy.

Métodos de configuração de proxy

Existem três métodos principais para configurar o wget para usar um proxy: variáveis de ambiente, opções de linha de comando e o arquivo de configuração .wgetrc. Cada método oferece níveis diferentes de escopo e persistência.

Variáveis de ambiente

As variáveis de ambiente fornecem uma configuração de proxy válida para todo o sistema ou específica da sessão, que o wget detecta automaticamente. Esse costuma ser o método mais comum para ajustes temporários ou específicos do usuário.

  • http_proxy: usada para destinos HTTP.
  • https_proxy: usada para destinos HTTPS.
  • ftp_proxy: usada para destinos FTP.
  • no_proxy: especifica uma lista separada por vírgulas de domínios ou endereços IP que devem ignorar o proxy.

O formato geral das URLs de proxy é http://[user:password@]host:port/. O wget usa principalmente proxies HTTP para buscar conteúdo, independentemente de a URL de destino ser HTTP ou HTTPS. Portanto, http_proxy costuma ser suficiente para destinos HTTP e HTTPS, a menos que um proxy HTTPS específico seja necessário.

Configuração temporária (sessão atual)

Defina essas variáveis no seu shell antes de invocar o wget.

Linux/macOS (Bash/Zsh):

export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export ftp_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.internal.domain.com"

wget http://example.com/file.zip
wget https://secure.example.com/data.tar.gz

Para proxies que exigem autenticação:

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

wget http://example.com/file.zip

Observação: embutir credenciais diretamente em variáveis de ambiente ou URLs geralmente não é recomendado em ambientes sensíveis à segurança, pois elas podem ficar visíveis para outros processos ou serem armazenadas no histórico do shell.

Para desativar o proxy em uma sessão específica:

unset http_proxy
unset https_proxy
unset ftp_proxy

Windows (CMD):

set http_proxy=http://proxy.example.com:8080
set https_proxy=http://proxy.example.com:8080
set ftp_proxy=http://proxy.example.com:8080
set no_proxy=localhost,127.0.0.1,.internal.domain.com

wget http://example.com/file.zip

Windows (PowerShell):

$env:http_proxy="http://proxy.example.com:8080"
$env:https_proxy="http://proxy.example.com:8080"
$env:ftp_proxy="http://proxy.example.com:8080"
$env:no_proxy="localhost,127.0.0.1,.internal.domain.com"

wget http://example.com/file.zip
Configuração permanente (específica do usuário)

Para tornar as configurações de proxy persistentes entre sessões de um usuário específico, adicione os comandos export ao arquivo de perfil do seu shell (por exemplo, ~/.bashrc, ~/.zshrc, ~/.profile no Linux/macOS) ou aos arquivos de configuração de todo o sistema.

Exemplo para ~/.bashrc:

# Proxy Settings
export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export ftp_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.internal.domain.com"

Após editar, recarregue o arquivo ou reinicie o shell: source ~/.bashrc.

Opções de linha de comando

O wget oferece opções específicas de linha de comando para configuração de proxy, sobrepondo-se às variáveis de ambiente e às configurações do .wgetrc em uma única invocação. Isso é adequado para downloads pontuais ou para scripts em que as configurações de proxy precisam ser controladas dinamicamente.

  • --proxy-on: habilita explicitamente o uso de proxy.
  • --proxy-off: desabilita explicitamente o uso de proxy.
  • --no-proxy: lista separada por vírgulas de domínios que devem ignorar o proxy (semelhante à variável de ambiente no_proxy).
  • --proxy-user=<user>: especifica o nome de usuário do proxy.
  • --proxy-password=<password>: especifica a senha do proxy.

Exemplo de uso:

# Baixa um arquivo através de um proxy, sobrepondo quaisquer configurações padrão
wget --proxy-on --proxy-user=myuser --proxy-password=mypassword http://proxy.example.com:8080 http://example.com/file.zip

# Baixa um arquivo diretamente, ignorando qualquer proxy configurado
wget --proxy-off http://example.com/file.zip

# Usa proxy, mas ignora para um domínio específico
wget --no-proxy=internal.example.com --proxy-on http://proxy.example.com:8080 http://example.com/file.zip

Ao usar --proxy-user e --proxy-password, o wget tentará se autenticar no proxy com as credenciais fornecidas. O endereço do proxy em si normalmente continua sendo definido por variáveis de ambiente ou pelo .wgetrc.

Arquivo de configuração .wgetrc

O arquivo .wgetrc permite configurações de proxy persistentes, específicas do usuário ou de todo o sistema. O wget lê esse arquivo durante a execução.

  • Específico do usuário: ~/.wgetrc (Linux/macOS), ou um caminho especificado pela variável de ambiente WGETRC.
  • Todo o sistema: /etc/wgetrc (Linux/macOS).

As configurações em ~/.wgetrc têm precedência sobre /etc/wgetrc. As opções de linha de comando se sobrepõem a ambas.

Diretivas de configuração:
# Enable or disable proxy usage by default
use_proxy = on

# Define HTTP proxy
http_proxy = http://proxy.example.com:8080/

# Define HTTPS proxy
https_proxy = http://proxy.example.com:8080/

# Define FTP proxy
ftp_proxy = http://proxy.example.com:8080/

# Proxy authentication credentials
proxy_user = myuser
proxy_password = mypassword

# Domains to bypass proxy
no_proxy = localhost,127.0.0.1,.internal.domain.com

Exemplo de conteúdo do ~/.wgetrc:

# Enable proxy usage
use_proxy = on

# Proxy server details
http_proxy = http://user:[email protected]:8080/
https_proxy = http://user:[email protected]:8080/
ftp_proxy = http://user:[email protected]:8080/

# Domains to exclude from proxy
no_proxy = localhost,127.0.0.1,dev.local

Autenticação de proxy

O wget suporta autenticação de proxy basic e digest.

  • Via URL: como mostrado nos exemplos de variáveis de ambiente (http://user:password@host:port). É menos seguro, pois as credenciais podem aparecer em logs ou no histórico do shell.
  • Via proxy_user e proxy_password: no .wgetrc ou por opções de linha de comando (--proxy-user, --proxy-password). Geralmente é preferível por segurança, pois o wget conduz o handshake de autenticação sem expor as credenciais em texto claro dentro da URL.

Comparação dos métodos de configuração

Recurso Variáveis de ambiente Opções de linha de comando Arquivo .wgetrc
Escopo Sessão ou específico do usuário (via arquivos de perfil) Uma única invocação do wget Específico do usuário (~/.wgetrc) ou de todo o sistema (/etc/wgetrc)
Persistência Temporária (sessão) ou permanente (arquivo de perfil) Nenhuma (efêmera) Permanente
Precedência Sobreposta pelas opções de linha de comando A mais alta (sobrepõe todos os outros métodos) Sobreposta pelas opções de linha de comando e pelas variáveis de ambiente
Caso de uso Uso geral, uso frequente, scripts Downloads pontuais, mudanças dinâmicas de proxy, testes Configurações padrão para um usuário ou sistema
Autenticação Via URL (menos seguro) Opções dedicadas (--proxy-user, --proxy-password) Diretivas dedicadas (proxy_user, proxy_password)

Solução de problemas comuns

  • "Proxy authentication required": certifique-se de que proxy_user e proxy_password estejam definidos corretamente, ou de que as credenciais sejam fornecidas na URL do proxy. Verifique se o nome de usuário e a senha estão corretos.
  • "Connection refused" / "Unable to connect to proxy":
    • Verifique se o host e a porta do proxy estão corretos e se o serviço de proxy está em execução.
    • Verifique a conectividade de rede entre o cliente e o servidor proxy.
    • Firewalls (do lado do cliente ou do proxy) podem estar bloqueando a conexão.
  • "Bad Gateway" / "HTTP Error 502": o servidor proxy não conseguiu se conectar ao servidor upstream ou encontrou um erro ao processar a requisição. Isso normalmente indica um problema com o próprio servidor proxy ou com sua conexão à internet.
  • wget não está usando o proxy:
    • Verifique se há use_proxy = on no .wgetrc ou se as variáveis de ambiente estão corretamente definidas e exportadas.
    • Certifique-se de que não haja configurações conflitantes de --proxy-off ou no_proxy ativas para a URL de destino.
    • Verifique se há erros de digitação nos endereços de proxy.
  • no_proxy não funciona: certifique-se de que a lista no_proxy esteja formatada corretamente (separada por vírgulas, sem espaços ao redor das vírgulas) e inclua exatamente os domínios ou endereços IP. O wget faz correspondência por substring, então .example.com corresponderá a host.example.com.
  • Destinos HTTPS falhando através de proxy HTTP: embora o wget geralmente consiga tunelar HTTPS por um proxy HTTP, alguns proxies ou configurações de rede podem exigir uma configuração dedicada de proxy HTTPS (usando https_proxy) ou conexão direta para HTTPS. Se https_proxy não estiver definida, o wget recorrerá a http_proxy. Certifique-se de que seu servidor proxy suporte tunelamento SSL/TLS.
Atualizado: 03.03.2026
Voltar à categoria

Leia também

Experimente nossos proxies

20,000+ proxies em 100+ países do mundo

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.