# Read timed out através de proxy: causas e timeouts sensatos

> Read timed out através de proxy residencial: por que acontece, tempos sensatos de conexão e leitura para scrapers, e como tentar novamente sem acumular pedidos.

- URL: https://crawlrelay.com/pt/docs/errors/read-timeout/
- Última atualização: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Erro de timeout do cliente: a mensagem exata em cada ferramenta, as causas prováveis em ordem, e o conserto que funciona.

**Resposta rápida — O que Read timed out (ReadTimeout) significa com um proxy?**

**Read timed out** significa que seu cliente esperou mais que o timeout de leitura para os próximos bytes da resposta. Através dos proxies residenciais CrawlRelay, o atraso geralmente vem de um alvo lento ou uma saída residencial lenta. Defina timeouts separados para conexão e leitura, cerca de 10 e 30 a 60 segundos para páginas HTML, e tente novamente uma requisição que expire uma vez com uma saída nova.

## Read timed out (ReadTimeout) de relance

| Atributo | Valor |
| --- | --- |
| Erro | Read timed out (ReadTimeout) |
| Tipo | Erro de timeout do cliente |
| Enviado por | Seu cliente HTTP, quando nenhum dado chega dentro do timeout de leitura |
| Definido em | Client setting, no protocol status |
| Tentar novamente? | Sim, uma ou duas vezes em uma nova saída |
| Primeira verificação | Compare seu timeout de leitura com o tempo normal de resposta do destino |

## O que Read timed out (ReadTimeout) significa?

Clientes geralmente têm dois relógios. O timeout de conexão limita quanto tempo o cliente espera para abrir a conexão com o proxy. O timeout de leitura limita quanto tempo ele espera entre bytes após a requisição ser enviada. Um timeout de leitura significa que a conexão funcionou mas a resposta foi lenta.

Sem timeouts explícitos, alguns clientes esperam indefinidamente. Em requests do Python, o padrão é sem timeout, então uma requisição travada pode congelar um worker.

## Como a read timeout aparece em Python, curl, Node.js e navegadores?

A mesma falha aparece de forma diferente em cada ferramenta. Estas são as mensagens para buscar nos seus logs:

- **Python requests:** `ReadTimeout: HTTPSConnectionPool(...): Read timed out. (read timeout=10)`
- **httpx:** `httpx.ReadTimeout`
- **Node.js:** `ETIMEDOUT`, `ESOCKETTIMEDOUT`, ou um `AbortError` do seu próprio timer
- **Playwright:** `TimeoutError: page.goto: Timeout 30000ms exceeded`

## O que causa a read timeout?

Mais provável inicialmente:

- **Página alvo lenta**, como resultados de busca ou páginas dinâmicas pesadas.
- **Saída lenta**: velocidade de upload residencial, Wi-Fi ou célula móvel congestionada.
- **Downloads grandes** lidos em um bloco só em vez de streaming.
- **Timeouts muito curtos** para o tipo de página.
- **Páginas em navegador** que aguardam rede inativa em sites que nunca param de carregar rastreadores.

## Como diagnosticar a read timeout passo a passo?

1. Cronometre a requisição sem o proxy para ter referência.
2. Registre tempo até o primeiro byte e tempo total separadamente.
3. Verifique o tamanho das respostas para as URLs lentas.
4. Em navegadores, verifique qual condição `waitUntil` você usa.

*Teste a URL com erro usando curl (porta HTTP, modo verbose)*

```bash
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL
```

## Como corrigir a read timeout?

- **Defina ambos os timeouts**: conexão cerca de 10 segundos, leitura 30 a 60 segundos para HTML, mais para arquivos grandes.
- **Stream respostas grandes** e escreva em disco em pedaços.
- **Use `domcontentloaded`** em vez de rede inativa no Playwright quando só precisar do HTML.
- **Bloqueie recursos pesados** que não precisa em navegadores, como vídeo.
- **Tente novamente uma vez com uma saída nova**, depois mova a URL para fila lenta.

*Python httpx: timeouts explícitos para conexão, leitura, gravação e pool*

```python
import httpx

proxy = "http://USERNAME:PASSWORD@gw.crawlrelay.com:7777"
timeout = httpx.Timeout(connect=10.0, read=30.0, write=10.0, pool=10.0)

with httpx.Client(proxy=proxy, timeout=timeout) as client:
    try:
        r = client.get("https://api.ipify.org")
        print(r.status_code, r.text)
    except httpx.TimeoutException as exc:
        print("timed out:", type(exc).__name__)  # ConnectTimeout, ReadTimeout...
```

## Devo tentar novamente após a read timeout?

Tente uma ou duas vezes um timeout de leitura em saída nova. Se a mesma URL continuar expirando, dê um timeout maior em uma fila lenta separada ao invés de aumentar o timeout para tudo. Cuidado com efeitos colaterais duplicados: só tente novamente requisições que são seguras para repetir, como GET.

## Como Read timed out (ReadTimeout) se aplica ao CrawlRelay?

Cada nova conexão CrawlRelay sem ID de sessão usa uma saída residencial diferente, então uma nova tentativa também testa uma conexão residencial nova. Mantenha sessões sticky curtas para alvos lentos: se a saída for lenta, toda requisição na sessão será lenta.

Gateway: `gw.crawlrelay.com`, porta 7777 (HTTP, HTTPS via CONNECT) e porta 7778 (SOCKS5). Formato do usuário: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Relacionado: [504 Gateway Timeout](https://crawlrelay.com/pt/docs/errors/504-gateway-timeout/) · [Connection reset](https://crawlrelay.com/pt/docs/errors/connection-reset/) · [Guia de concorrência](https://crawlrelay.com/pt/docs/concurrency/).

## Read timed out (ReadTimeout): perguntas que desenvolvedores fazem

### Qual timeout usar para scraping com proxies?

Comece com cerca de 10 segundos para conectar e 30 segundos para ler páginas HTML, depois ajuste a partir dos seus próprios testes. APIs JSON costumam ser mais rápidas; arquivos grandes e páginas de busca lentas precisam mais. Defina explicitamente: requests Python não tem timeout por padrão.

### Timeout consome minha franquia?

Só para os bytes transferidos antes do timeout. Uma requisição que expira esperando o primeiro byte quase não transferiu nada. Um download grande que expira na metade transferiu dados. Faça streaming de arquivos grandes e retome downloads onde possível.

### Por que timeouts ocorrem em rajadas?

Frequentemente porque o destino desacelera sob carga, às vezes devido à sua própria carga. Picos em várias saídas ao mesmo tempo apontam para o destino; timeouts isolados indicam saídas lentas individuais. Reduza a concorrência no host quando um pico começar.

## Outros erros de proxy nesta referência

- [401 Unauthorized vs 407](https://crawlrelay.com/pt/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/pt/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/pt/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/pt/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/pt/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/pt/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/pt/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/pt/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/pt/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/pt/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/pt/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/pt/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/pt/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/pt/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/pt/docs/errors/ssl-wrong-version-number/)

**Proxies residenciais com documentação que cobre os casos de falha** CrawlRelay proxies residenciais a partir de US$ 0,50/GB, tráfego que nunca expira. [Veja os preços](https://crawlrelay.com/pt/pricing/) · [Início rápido](https://crawlrelay.com/pt/docs/)

---

CrawlRelay: CrawlRelay é um serviço proxy residencial rotativo e proxies móveis 4G/5G para desenvolvedores, para scrapers e pipelines de dados de IA: tráfego pay-as-you-go que não expira a partir de US$ 0,50/GB, pago com cripto, sem upload de documento. Sem KYC — sem ID, sem selfie, sem documentos. Pague com cripto.
