Sem KYC — sem ID, sem selfie, sem documentos. Pague com cripto: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Português
Comece agora

Referência de erro de proxy · Códigos de status HTTP

503 Service Unavailable ao fazer scraping: o que significa e como corrigir

Código de status HTTP (5xx, erro do servidor): a mensagem exata em cada ferramenta, as causas prováveis em ordem, e o conserto que funciona.

Última atualização: · 5 min de leitura

Resposta rápida

O que 503 Service Unavailable significa com um proxy?

503 Service Unavailable significa que o servidor não pode atender a requisição agora, por sobrecarga, manutenção ou uma regra de proteção. Via proxies residenciais do CrawlRelay, leia o cabeçalho Retry-After e o corpo da resposta: um 503 por manutenção ou sobrecarga se resolve com o tempo, já uma página de desafio indica filtro contra tráfego automatizado e você deve desacelerar.

503 Service Unavailable de relance

Erro503 Service Unavailable
TipoCódigo de status HTTP (5xx, erro do servidor)
Enviado porO site alvo, sua CDN ou o proxy quando não tem saída disponível
Definido emRFC 9110, section 15.6.4 (Retry-After: section 10.2.3)
Tentar novamente?Sim, após Retry-After ou um backoff
Primeira verificaçãoCheque o cabeçalho Retry-After e se o corpo é uma página de desafio da CDN

O que 503 Service Unavailable significa?

RFC 9110 define 503 como condição temporária. O servidor está ativo mas não quer ou não pode atender a requisição agora, e pode dizer quando voltar via Retry-After.

Na prática, três situações compartilham esse código: site realmente sobrecarregado ou em manutenção, CDN exibindo página de desafio a tráfego automatizado e gateway proxy sem saída para segmentação muito restrita. O corpo e os cabeçalhos diferenciam.

Como a 503 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 / httpx: status_code == 503, às vezes com Retry-After
  • Scrapy: tenta de novo por padrão (503 está em RETRY_HTTP_CODES)
  • curl: HTTP/2 503, frequentemente com cabeçalho server: indicando a CDN
  • Navegadores: página de manutenção ou cheque intersticial

O que causa a 503?

Mais provável inicialmente:

  • Sobrecarga ou manutenção no site alvo, normalmente com Retry-After.
  • Página de desafio servida por uma CDN para clientes que quer verificar, com status 503 ou 403.
  • Sua própria carga, quando seu crawler gera grande parte do tráfego do site.
  • Segmentação restrita, por exemplo uma cidade pequena, quando nenhuma saída está disponível no momento.
  • Queda upstream na CDN ou região cloud usada pelo site.

Como diagnosticar a 503 passo a passo?

  1. Leia Retry-After e o cabeçalho server, depois observe o título HTML do corpo.
  2. Carregue a página num navegador do mesmo país para ver o que uma pessoa vê.
  3. Pause seu crawler por alguns minutos e teste uma requisição: se passar, sua carga foi o gatilho.
  4. Amplie a segmentação para o nível país e compare.
Teste a URL com erro usando curl (porta HTTP, modo verbose)
# 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:[email protected]: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 503?

  • Espere e tente de novo usando o atraso Retry-After ou backoff exponencial.
  • Reduza sua carga nesse host: menos requisições paralelas, atrasos maiores, cache.
  • Considere a página de desafio como sinal de parada para essa velocidade. Não use soluções de CAPTCHA ou disfarce de navegador para passar; diminua o ritmo e contate o site se precisar de acesso.
  • Amplie a segmentação quando o 503 vem com filtro restrito de cidade.
Python: tentar novamente com Retry-After, backoff exponencial e jitter
import random
import time

import requests

PROXY = "http://USERNAME:[email protected]:7777"
PROXIES = {"http": PROXY, "https": PROXY}
RETRY_STATUSES = {429, 502, 503, 504}


def fetch(url, attempts=5, timeout=(10, 30)):
    for attempt in range(attempts):
        try:
            r = requests.get(url, proxies=PROXIES, timeout=timeout)
        except (requests.exceptions.ConnectionError, requests.exceptions.Timeout):
            r = None  # dropped exit, reset or timeout: a new connection gets a new exit
        if r is not None and r.status_code not in RETRY_STATUSES:
            return r
        retry_after = r.headers.get("Retry-After", "") if r is not None else ""
        if retry_after.isdigit():
            wait = int(retry_after)
        else:
            wait = min(60, 2 ** attempt) + random.uniform(0, 1)
        time.sleep(wait)
    raise RuntimeError("giving up on %s after %d attempts" % (url, attempts))

Devo tentar novamente após a 503?

Tente de novo um 503, mas com paciência. Use Retry-After se presente; senão faça backoff exponencial de alguns segundos até um ou dois minutos. Se um host responde 503 para a maioria das requisições por mais de alguns minutos, pause ele totalmente e volte depois. Registre páginas de desafio separadamente de quedas reais nos seus logs.

Como 503 Service Unavailable se aplica ao CrawlRelay?

CrawlRelay envia sua requisição por um IP residencial escolhido para combinar com sua segmentação. Segmentação por país usa o maior conjunto de saídas; por cidade é mais restrita. Se 503s ocorrem só com filtro de cidade, teste a mesma requisição por país antes de mudar qualquer outra coisa.

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: 429 Too Many Requests · 502 Bad Gateway · 504 Gateway Timeout.

503 Service Unavailable: perguntas que desenvolvedores fazem

Por que recebo 503 só via proxy e não da minha casa?

Ou o site trata seu tráfego proxy de forma diferente, muitas vezes mostrando página de desafio, ou sua segmentação é tão restrita que saídas são escassas. Compare o corpo da resposta nos dois casos. Página de desafio é para desacelerar; mensagem curta de proxy com segmentação restrita indica ampliar o filtro de localização.

503 é o mesmo que ser bloqueado?

Não. Um 503 real é temporário e se resolve com o tempo. Página de desafio servida com 503 é filtro e geralmente indica ritmo ou padrão automatizado. Reduza concorrência e adicione atrasos. Se o site não quiser acesso automatizado, respeite e busque API ou dados licenciados.

Quantas vezes devo tentar um 503?

Três a cinco tentativas com backoff exponencial é um teto razoável para um URL. Depois disso, pause o host inteiro em vez de tentar URLs isoladamente, pois site em problema não melhora com tentativas. Registre o host e horário para retomar depois.

Outros erros de proxy nesta referência

Códigos de status HTTP

Erros no navegador e cliente

Erros de conexão e TLS

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.

A partir de US$ 0,50/GB · sem KYC

Comece agora