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

401 Unauthorized vs 407 Proxy Authentication Required

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

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

Resposta rápida

O que 401 Unauthorized vs 407 significa com um proxy?

Um 401 Unauthorized vem do site; um 407 vem do proxy. Se você faz scraping via proxies residenciais CrawlRelay e recebe 401, o proxy aceitou você e o site está pedindo seu próprio login ou chave API. Credenciais do proxy não ajudam aí. Corrija 407 na URL do proxy e trate 401 conforme as regras do site para conteúdo protegido.

401 Unauthorized vs 407 de relance

Erro401 Unauthorized vs 407
TipoCódigo de status HTTP (4xx, erro do cliente)
Enviado porO site alvo, nunca o proxy
Definido emRFC 9110, section 15.5.2 (compare 407: section 15.5.8)
Tentar novamente?Não. Um 401 pede credenciais para o próprio site
Primeira verificaçãoVerifique qual servidor enviou: o site (401) ou o proxy (407)

O que 401 Unauthorized vs 407 significa?

RFC 9110 junta esses dois códigos. Um 401 traz um cabeçalho WWW-Authenticate e pede credenciais para o servidor de origem. Um 407 traz um cabeçalho Proxy-Authenticate e pede credenciais para o proxy. As respostas também vão em cabeçalhos diferentes: Authorization para o site e Proxy-Authorization para o proxy.

Confundir é comum porque ambos falam em 'autenticação'. O teste mais rápido é o código de status: 401 significa que você passou pelo proxy.

Como a 401 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: status_code == 401 com um cabeçalho WWW-Authenticate (site) versus ProxyError mencionando 407 (proxy)
  • curl: HTTP/2 401 depois de um CONNECT bem-sucedido (site) versus CONNECT tunnel failed, response 407 (proxy)
  • APIs: um corpo JSON como {"message": "Unauthorized"} ou mensagem de token inválido

O que causa a 401?

Mais provável inicialmente:

  • A página ou API precisam de login ou chave. O site, não o proxy, está pedindo.
  • Credenciais de proxy no lugar errado, como um cabeçalho Authorization destinado ao proxy, rejeitado pelo site.
  • Cookie de sessão ou token expirado em um fluxo multi-etapa.
  • Token ligado a IP ou região, onde nova saída invalida o token.

Como diagnosticar a 401 passo a passo?

  1. Confirme o código: 401 é o site, 407 é o proxy.
  2. Faça o teste com curl abaixo. Se aparecer HTTP/1.1 200 Connection established antes do 401, o proxy está ok.
  3. Verifique se a mesma URL precisa de login no navegador normal.
  4. Em fluxo multi-etapa, veja se o 401 começa quando o IP de saída muda.
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 401?

  • Para problemas de proxy (407), coloque credenciais na URL do proxy ou configurações do cliente, nunca no cabeçalho Authorization.
  • Para API pública que precisa de chave, registre-se no site e envie a chave conforme documentação.
  • Para sessões ligadas a IP, use sessão sticky para todo o fluxo.
  • Para conteúdo protegido por login, confira os termos do site antes de automatizar. Scraping de contas alheias ou dados pessoais atrás de login está fora da Política de Uso Aceitável.

Devo tentar novamente após a 401?

Não repita 401 cegamente. Ele pede algo que sua requisição não tem. Atualize o token ou sessão se houver, e tente uma vez. Repetidos 401 indicam que o conteúdo não é público ou seu acesso terminou.

Como 401 Unauthorized vs 407 se aplica ao CrawlRelay?

Um proxy HTTP reporta seus próprios problemas de credencial com 407 ou túnel falhado, não com 401. Se você vê 401 via gateway CrawlRelay, sua requisição chegou no site, o que reduz rápido a origem do problema.

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: 407 Proxy Authentication Required · 403 Forbidden · Sessions guide.

401 Unauthorized vs 407: perguntas que desenvolvedores fazem

Por que recebo 401 se a senha do proxy está correta?

Porque 401 é relativo ao site, não ao proxy. Seu login no proxy funcionou, e o site quer suas próprias credenciais, como chave API, cookie de login ou token. Veja a documentação do site. Se o conteúdo está atrás de login que você não tem direito, não automatize.

Sessão sticky pode resolver erros 401?

Às vezes. Alguns sites associam sessão ou token ao IP que a gerou, então uma nova saída invalida o token e o site responde 401. Usar uma sessão sticky na sequência evita isso. Não ajuda quando o conteúdo pede credenciais que você não tem.

Onde vão as credenciais de proxy em uma requisição HTTP?

No cabeçalho Proxy-Authorization, que seu cliente monta a partir da parte user:password@ da URL do proxy. O site nunca vê esse cabeçalho, pois o proxy o remove. Credenciais do site vão no cabeçalho Authorization ou em cookie, que o proxy passa direto.

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