Como corrigir o erro 407 Proxy Authentication Required
Atualizado:
Um erro 407 é uma notícia melhor do que parece: seu dispositivo alcançou o proxy e a rota de rede está aberta. O proxy está apenas informando que não recebeu um usuário e senha válidos. É por isso que quase todo 407 é resolvido do lado das credenciais, e não no roteador ou firewall.
Causas de um 407, das mais prováveis às menos comuns
- Usuário ou senha incorretos ou ausentes. Um caractere digitado errado ou um espaço extra copiado junto com a senha. Isso explica a maioria dos relatos de 407.
- Campos colados nas caixas erradas. Toda a linha
ip:port:user:passvai parar no campo Host, ou o usuário vai parar no campo de senha. Algumas ferramentas separam os quatro campos automaticamente, outras não. - O aplicativo nunca envia as credenciais. A configuração de proxy do sistema operacional armazena apenas endereço e porta. Aplicativos que não conseguem solicitar a senha conectam-se sem o cabeçalho de autenticação e recebem um 407 de volta.
- Caracteres especiais na URL do proxy. No formato
http://user:pass@host:port, caracteres como@,:ou#na senha precisam ser codificados em percentual (@vira%40), caso contrário a sequência é dividida no lugar errado.
Como um 407 realmente se parece
Reproduzimos o erro em um proxy de teste, mostrado aqui com o endereço de documentação 203.0.113.10:8080 e um user123:pass456 deliberadamente incorreto. Ao acessar um site HTTPS, o comando curl -x http://user123:[email protected]:8080 https://example.com exibe curl: (56) CONNECT tunnel failed, response 407. Em um site HTTP comum com -w %{http_code}, o curl exibe apenas 407.
Adicione -v para conferir se as credenciais chegaram a ser enviadas. O rastreamento mostra > CONNECT example.com:443 HTTP/1.1, depois > Proxy-Authorization: Basic ... e só então o 407. Se a linha Proxy-Authorization não aparecer, seu cliente nunca enviou os dados de login.
O verificador de proxy da VinaProxy aponta o mesmo caso como auth failed (407). Já o Chrome headless, que não tem caixa de diálogo de login, exibe o erro como ERR_TUNNEL_CONNECTION_FAILED; confira a página de erro de túnel.
Soluções por ambiente
- Windows e Chrome: O Chrome segue a configuração de proxy do Windows (Configurações > Rede e Internet > Proxy), que armazena apenas endereço e porta. Na primeira página carregada, o Chrome abre uma caixa de diálogo solicitando o usuário e senha do proxy. Se você digitou errado e a caixa não reaparecer, feche todas as janelas do Chrome e abra novamente.
- Navegadores antidetect (AdsPower, GoLogin, GenLogin): mantenha Host, Porta, Usuário e Senha em campos separados. Limpe o campo de senha por completo e cole novamente em vez de editá-lo. Veja a ajuda campo a campo no guia de configuração do GoLogin.
- Celulares: O iPhone possui a opção Autenticação em Ajustes > Wi-Fi > (i) > Configurar Proxy; deixá-la desativada gera o erro 407. O Android geralmente aceita apenas host e porta, portanto aplicativos que exigem login podem exibir um erro de conexão genérico.
- curl: passe
-U "user:pass"separadamente em vez de embuti-lo na URL, evitando problemas com caracteres especiais. - Python requests: defina
http://user:pass@host:portpara as chaveshttpehttpsdo dicionárioproxies, e codifique senhas com caracteres especiais usandourllib.parse.quote.
As credenciais estão corretas, mas o 407 continua
O próximo passo é conferir os protocolos. A VinaProxy fornece proxies HTTP(S) com autenticação de usuário e senha e também SOCKS5; portanto, selecione o protocolo indicado no seu pedido no painel. Se o verificador retornar not socks5, essa porta opera em HTTP e não deve ser configurada como SOCKS5.
Passo a passo
- 1
Copie a linha do proxy no painel
Abra o pedido no seu painel da VinaProxy e copie a linha completa em vez de digitá-la manualmente.
- 2
Teste no verificador de proxy
Cole a linha no verificador de proxy. O resultado
auth failed (407)confirma que se trata de uma falha de credenciais, e não de rede. - 3
Insira o usuário e a senha do zero
Limpe os dois campos no seu software e cole novamente sem espaços no início ou no final.
- 4
Ajuste o protocolo conforme o pedido
Defina o tipo de proxy exatamente como HTTP ou SOCKS5, conforme indicado no pedido, e salve.
- 5
Rastreie com curl -v se o erro persistir
Execute
curl -vcom seus dados reais e verifique se a linhaProxy-Authorizationaparece antes do 407.
Perguntas frequentes
O erro 407 pode ser causado pelo meu provedor de internet bloqueando o proxy?
Não. O 407 é enviado pelo próprio proxy, o que confirma que a conexão foi estabelecida. Quando há bloqueio de rota, o erro exibido é de tempo limite esgotado ou conexão recusada; veja proxy timeout.
Por que o Chrome não para de pedir o login do proxy?
Cada tentativa incorreta gera outro 407, fazendo o Chrome pedir os dados novamente. Verifique se o Caps Lock está ativado e confira se algum método de entrada não está inserindo acentos indesejados na senha.
Como coloco uma senha com @ dentro de uma URL de proxy?
Codifique o caractere: @ como %40, : como %3A, # como %23. No curl, a flag -U dispensa qualquer tipo de codificação.
O Selenium ou o Puppeteer exibe um erro de túnel em vez do 407. É o mesmo problema?
Geralmente sim. O Chrome headless não consegue abrir caixas de diálogo de login, então o 407 se manifesta como ERR_TUNNEL_CONNECTION_FAILED. Forneça as credenciais pelo mecanismo de autenticação da própria biblioteca, como indicado no guia do Selenium.
Proxies privados com credenciais simples
Cada pedido na VinaProxy entrega uma linha ip:port:user:pass pronta para copiar uma única vez e colar onde quiser.
Ver preços dos proxies