Erros de timeout no proxy: a conexão trava e depois desiste
Atualizado:
Um timeout é mais frustrante do que outros erros porque ele não diz nada: nenhuma recusa, nenhuma solicitação de senha, apenas silêncio até que o seu software desista. Normalmente, seus pacotes vão para algum lugar e desaparecem, ou o proxy aceita a conexão e não responde a tempo. O trabalho é descobrir em qual etapa esse silêncio acontece.
Três saídas de timeout que medimos
Configuramos um proxy de teste que aceita conexões TCP e nunca responde, e depois executamos a mesma requisição com dois tipos de limite de tempo (endereço reescrito como 203.0.113.10:8080, user123:pass456):
curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.comretornacurl: (28) Proxy CONNECT aborted due to timeout. Esse limite cobre apenas a fase de conexão.- Substituindo por
-m 10(um limite para a transferência completa), o retorno écurl: (28) Connection timed out after 10002 milliseconds. - O Chromium apontado para o mesmo proxy relata
ERR_TIMED_OUT; o verificador de proxy relatatimeout.
Causas, das mais prováveis às menos prováveis
- Sua rede bloqueia silenciosamente a porta do proxy. Redes Wi-Fi de escritório, hotel e campus costumam descartar pacotes para portas incomuns em vez de recusá-los, fazendo você esperar indefinidamente.
- O timeout no seu código é curto demais. Um proxy em um país distante precisa de um pouco mais de tempo para o handshake; um limite de 2 a 3 segundos pode cortar um proxy que funciona perfeitamente.
- O proxy ou o destino está sobrecarregado. O proxy aceita a conexão, mas fica aguardando o site, e a sua paciência acaba primeiro.
- IP incorreto. Um erro de digitação que aponte para um endereço que não responde gera silêncio em vez de uma recusa.
Correções por ambiente
- Windows/Chrome: teste o mesmo proxy usando os dados móveis do seu celular. Se o timeout desaparecer, a rede original está bloqueando; leia verificando o proxy e o firewall.
- Navegadores antidetect: o botão de teste de proxy geralmente tem um tempo de espera fixo. Tente novamente algumas vezes e, se apenas alguns perfis falharem, compare a linha do proxy deles com uma que esteja funcionando.
- Telegram: ficar travado em conectando após ativar um proxy costuma ser timeout também; teste o proxy no verificador antes de alterar as configurações do Telegram.
- Python requests: passe
timeout=(10, 30), ou seja, 10 segundos para conectar e 30 segundos para leitura. Traterequests.exceptions.ConnectTimeouterequests.exceptions.ReadTimeoutseparadamente para identificar onde ele trava, e adicione algumas tentativas com intervalo em vez de usar um timeout ilimitado. - curl: use
--connect-timeoutpara medir apenas a etapa de conexão e-mpara limitar todo o comando.
Timeout ou apenas lentidão?
Um proxy lento ainda responde, só demora mais. O teste de velocidade de proxy mostra tempos de resposta reais; se eles ficarem perto do timeout do seu software, aumente o limite ou escolha um proxy em um país mais próximo do destino. Se testes repetidos nunca obtiverem resposta, trata-se de um timeout legítimo, e abrir um chamado com o resultado do verificador é o próximo passo.
Passo a passo
- 1
Confirme o timeout com o verificador
Cole a linha do proxy no verificador de proxy. O resultado
timeoutindica que nenhuma resposta chegou dentro do tempo limite. - 2
Mude de rede para isolar o problema
Tente novamente usando dados móveis. Se funcionar, o problema está na rede original ou no firewall dela.
- 3
Meça o tempo de resposta
Execute o teste de velocidade de proxy para ver se o proxy está apenas lento ou sem responder.
- 4
Ajuste os timeouts e as novas tentativas no seu software
Aumente o limite de conexão para cerca de 10 segundos, adicione retentativas e execute a tarefa novamente.
Perguntas frequentes
Um proxy timeout significa que o proxy morreu?
Não necessariamente. Muitos timeouts ocorrem porque a rede do próprio usuário bloqueia a porta. Teste a partir de outra rede antes de tirar conclusões.
Qual timeout devo definir para proxies no código?
Cerca de 10 segundos para conectar e 30 segundos para ler é um bom ponto de partida. Proxies distantes ou páginas pesadas podem exigir mais tempo.
Por que apenas alguns sites dão timeout através do proxy?
Nesse caso, o proxy está funcionando e o destino está lento ou bloqueando. Se o site retornar 502 em vez de silêncio, consulte 502 Bad Gateway.
Qual é a diferença entre um timeout e uma conexão recusada?
Uma recusa retorna instantaneamente; já o timeout espera até atingir o limite. Consulte servidor proxy recusando conexões.
Escolha um proxy próximo ao seu mercado
A VinaProxy oferece IPs no Vietnã, EUA, Japão, Coreia do Sul, Cingapura, Reino Unido e Hong Kong, para você ficar sempre perto do seu público-alvo.
Ver preços