Voltar ao blogue
Guias
Mihai MaximLast updated on Mar 31, 20268 min read

Erros de estado do proxy: como identificá-los e resolvê-los

Erros de estado do proxy: como identificá-los e resolvê-los

Sente-se constantemente perplexo com os misteriosos códigos de erro de proxy? A verdade é que estes erros são bastante comuns, especialmente se for novo na utilização de proxies. Compreendê-los irá ajudá-lo a evitar interrupções e a gerir os seus proxies de forma mais eficiente.

Neste artigo, vou guiá-lo pelos códigos de estado de proxy mais comuns e explicar o que cada um deles significa.

O que é um erro de proxy?

Um erro de proxy ocorre quando um pedido enviado a um servidor web através de um servidor proxy não é atendido. Existem vários fatores que podem causar este erro, tais como um endereço de servidor proxy inválido, autenticação de proxy incorreta ou uma ligação bloqueada. Estes erros são identificados por códigos de erro de proxy. Os códigos são semelhantes aos códigos de estado HTTP. Indicam o tipo de problema que ocorreu e podem ser utilizados para diagnosticar e resolver o problema.

Oficialmente, existem cinco classes de estado de resposta HTTP. O primeiro dígito do código indica a categoria da resposta:

  • Os códigos 1xx (Informativos) indicam que o servidor recebeu e está a processar o pedido.
  • Os códigos 2xx (Sucesso) indicam que o servidor recebeu e aceitou o pedido.
  • Os códigos 3xx (Redirecionamento) indicam que são necessárias ações adicionais para concluir a solicitação.
  • Os códigos 4xx (erros do cliente) indicam que a solicitação contém erros e não pode ser executada.
  • Os códigos 5xx (Erros do servidor) indicam que a solicitação parece válida, mas o servidor não conseguiu concluí-la.

Os códigos de estado na faixa de 100 e 200 servem apenas para fornecer informações e não requerem qualquer ação. Os códigos na faixa de 300, 400 e 500 indicam um problema que requer atenção adicional. A maioria dos sites e servidores proxy utiliza-os. No entanto, vale a pena notar que esta é apenas uma convenção geral. Poderá encontrar serviços que atribuem significados diferentes aos mesmos códigos de estado.

100 - Continuar

O código de estado 100 é uma resposta informativa que indica que o servidor recebeu a parte inicial de um pedido. O cliente pode prosseguir com o envio do restante do pedido ou ignorá-lo se já tiver sido concluído. É um código sem erro e é utilizado para confirmar que o servidor recebeu e está a processar o pedido.

101 - Mudança de protocolos

O código de estado 101 significa que o navegador do cliente está a solicitar ao servidor que altere o protocolo de comunicação. Indica que o servidor compreende e está disposto a mudar para um protocolo diferente. Este código de estado é normalmente utilizado para atualizar uma ligação de um protocolo de nível inferior para um de nível superior.

102 - Em processamento

O HTTP 102 é um código não padrão que indica que o servidor recebeu o pedido, mas ainda não está pronto para enviar uma resposta. É uma resposta provisória que informa o cliente para aguardar uma resposta final e não fechar a ligação.

103 - Sugestões antecipadas

O código de estado 103 é utilizado para permitir que o agente do utilizador comece a pré-carregar recursos enquanto o servidor ainda está a preparar uma resposta. Por exemplo, quando um navegador envia um pedido. Se o servidor souber que o conteúdo necessita de recursos como style.css ou script.js, etc., irá indicar ao navegador para pré-carregar o conteúdo. O HTTP 103 não está incluído na especificação oficial HTTP/1.1. A sua utilização pode variar dependendo do contexto.

200 - OK

HTTP 200 OK é um código de resposta padrão que indica uma solicitação bem-sucedida. É o código de estado mais comum devolvido por um servidor web e significa que o servidor recebeu, compreendeu e aceitou a solicitação.

203 - Informação Não Autoritativa

O estado de resposta HTTP 203 Informação Não Autoritativa indica que a solicitação foi bem-sucedida, mas que a carga incluída foi modificada por um proxy de transformação.

301 - Movido permanentemente

Um código de estado 301 é um estado de resposta HTTP que indica que o recurso solicitado foi movido permanentemente para um novo URL. É importante notar que isto não é um erro e é considerado uma boa prática para atualizar os utilizadores de HTTP para HTTPS. Os navegadores e os scrapers seguirão automaticamente o novo URL e atualizarão quaisquer marcadores ou links para a nova localização. Além disso, os motores de busca também atualizarão os seus índices para o novo URL.

305 - Usar Proxy

O código de estado HTTP 305 Use Proxy é um código de estado obsoleto, já não é utilizado e deve ser evitado devido a questões de segurança. Instruía o cliente a ligar-se a um proxy e a repetir o mesmo pedido. É semelhante a um redirecionamento, mas indica ao cliente que o recurso só pode ser acedido através de um proxy específico.

306 - Mudar de proxy

O código de estado HTTP 306 não é comummente utilizado em aplicações web modernas. Era utilizado para indicar que o cliente deveria utilizar outro servidor proxy, uma vez que o recurso solicitado estava temporariamente disponível através desse proxy específico. É importante notar que este código de estado já não está em uso e não se deve esperar encontrá-lo nas implementações HTTP atuais.

Como resolver: efetue o pedido através do proxy especificado.

307 - Redirecionamento Temporário

O código de estado 307 é um tipo de redirecionamento que indica que o recurso solicitado está temporariamente localizado num URI diferente.

Como resolver: siga o link de redirecionamento e faça a solicitação novamente.

400 - Pedido incorreto

O código de estado 400 indica que o servidor não processará a solicitação porque a considera um erro do cliente. Isso pode ser devido a problemas como sintaxe incorreta, tamanho excessivamente grande, estrutura de mensagem inválida ou roteamento suspeito da solicitação.

Como resolver: certifique-se de que a sua solicitação contém todas as informações necessárias. Use a sintaxe de solicitação correta.

401 - Não autorizado

O erro de estado 401 ocorre quando a solicitação não possui credenciais de autenticação válidas para o recurso de destino. O cliente deve autenticar-se para obter a resposta solicitada. Este estado é semelhante ao erro 403, mas indica que a autenticação, e não a autorização, falhou.

Como resolver: forneça as informações de autenticação corretas.

403 - Proibido

Um código de estado 403 Proibido indica que o proxy ou servidor web compreende a solicitação, mas recusa autorizá-la. Isso ocorre normalmente quando o cliente não possui as permissões necessárias para aceder ao recurso solicitado. Vários fatores podem estar a causar essa restrição. Usar credenciais de login incorretas ou realizar ações reservadas aos administradores do site são alguns deles.

Como resolver: obtenha a permissão adequada ou corrija as credenciais.

404 - Não Encontrado

Um erro 404 ocorre quando um recurso solicitado não está disponível. Indica que o URL solicitado pelo cliente não pode ser encontrado.

Como resolver: certifique-se de que utiliza o URL correto e tente novamente a solicitação.

407 - Autenticação de proxy necessária

O código de estado 407 indica que o servidor exige autenticação antes de satisfazer um pedido. Este erro ocorre normalmente quando é utilizado um servidor proxy e o cliente não possui as credenciais de autenticação adequadas. A causa também pode ser a falha em colocar o IP do cliente na lista de permissões nas definições do servidor proxy.

Como resolver: certifique-se de que inclui as credenciais corretas. Verifique se o seu IP está na lista de permissões nas definições do servidor proxy.

408 - Tempo de espera da solicitação expirado

O código de estado 408 indica que o servidor não recebeu uma mensagem de pedido completa do cliente dentro do período de tempo limite configurado no servidor. Trata-se geralmente de um erro temporário. O cliente pode repetir o pedido após algum tempo.

Como resolver: verifique a sua ligação ao servidor e tente novamente a solicitação. Certifique-se de que o servidor não está sobrecarregado.

429 - Demasiadas solicitações

O código de estado 429 ocorre quando o utilizador enviou demasiadas solicitações num determinado período de tempo, utilizando o mesmo IP. Este código de estado é frequentemente utilizado para implementar a limitação de taxa. A limitação de taxa é uma técnica utilizada para controlar a frequência com que os clientes podem enviar solicitações a um servidor.

Como resolver: defina intervalos de tempo entre as solicitações, utilize IPs diferentes.

502 - Gateway incorreto

O código de estado 502 indica que o servidor proxy ou gateway recebeu uma resposta inválida de outro servidor ao qual estava a tentar aceder. Um erro 502 não é, normalmente, algo que possa resolver. Na maioria das vezes, requer uma correção por parte do servidor web ou dos proxies através dos quais está a tentar obter acesso.

Como resolver: limpe a cache e os cookies. Tente fazer a solicitação sem o servidor proxy.

503 - Serviço indisponível

O código 503 significa que o servidor está atualmente indisponível para processar a solicitação. Este status é normalmente usado quando o servidor está em manutenção ou sobrecarregado com tráfego.

Como resolver: tente novamente a solicitação mais tarde ou faça a solicitação com IPs diferentes.

Conclusão

Espero que este guia o tenha ajudado a compreender melhor os códigos de erro comuns com que se pode deparar ao utilizar servidores proxy. Lembre-se de que alguns erros nem sequer são culpa sua. Saber o que estes códigos significam pode poupar-lhe muitas dores de cabeça ao tentar descobrir o que correu mal. Se quiser saber mais sobre os códigos de estado HTTP, consulte a documentação web da MDN. Se estiver interessado em utilizar proxies para web scraping, também poderá gostar deste artigo.

Sobre o autor
Mihai Maxim, Desenvolvedor Full Stack @ WebScrapingAPI
Mihai MaximDesenvolvedor Full Stack

Mihai Maxim é um programador Full Stack na WebScrapingAPI, contribuindo em todas as áreas do produto e ajudando a criar ferramentas e funcionalidades fiáveis para a plataforma.

Comece a construir

Pronto para expandir a sua recolha de dados?

Junte-se a mais de 2.000 empresas que utilizam a WebScrapingAPI para extrair dados da Web à escala empresarial, sem quaisquer custos de infraestrutura.