A lista definitiva de códigos de erro de proxy e como resolvê-los

Como fazer, Proxies, Oct-12-20215 minutos de leitura

Alguma vez encontrou códigos de erro ao utilizar proxies durante a recolha de dados da Web, por exemplo? De repente, ficou frustrado por não saber a causa do erro e o que deve fazer para o resolver? Então esta publicação é para si, bem como para qualquer outra pessoa interessada em saber mais sobre os códigos de erro de proxy e como os corrigir

Alguma vez encontrou códigos de erro ao utilizar proxies durante a recolha de dados da Web, por exemplo? De repente, ficou frustrado por não saber a causa do erro e o que deve fazer para o resolver? Então este post é para si, bem como para qualquer outra pessoa interessada em saber mais sobre códigos de erro de proxy e como corrigi-los.

Também gostaríamos de lhe dar algumas dicas úteis para evitar totalmente os códigos de erro de proxy.

Então, sem mais demoras, vamos começar.

O que é um erro de proxy?

Em circunstâncias normais, quando o seu dispositivo solicita uma página Web ao servidor de destino, o servidor proxy retransmite todos os pedidos para trás e para a frente. 

No entanto, há circunstâncias em que a página Web já não está disponível ou foi transferida para uma nova localização. Nesses casos, o servidor gera uma mensagem de erro através do servidor proxy como resposta. Estas mensagens de erro são códigos de estado HTTP que irá descobrir na secção seguinte. Você também descobrirá como resolver alguns desses códigos de status HTTP para continuar usando o proxy.

Códigos de status HTTP: Como descrevi acima, receberá um código de estado HTTP sobre se o pedido foi concluído ou não. Assim, os códigos de estado HTTP são classificados em cinco classes.

1XX Códigos de erro informativos

Este tipo de respostas não é utilizado com muita frequência. São respostas temporárias utilizadas por um servidor para processar pedidos.

100 - Continuar

Este código indica que o servidor recebeu uma parte do pedido e que o cliente pode continuar a transmitir o resto do pedido. O cliente fornece o cabeçalho de pedido "Expect:100 - continue" num caso típico, e o servidor responde com um código de estado 100. O parâmetro "Expect" é incluído no pedido inicial para evitar pedidos adicionais se o servidor rejeitar os primeiros.

101 - Protocolos de comutação

Quando um browser pretende alterar o protocolo de comunicação durante uma sessão, o servidor Web apresenta um código de estado 101. Quando um navegador cliente solicita e o servidor concorda em mudar os protocolos de comunicação, é devolvido o código de estado HTTP "100 - Switching Protocols".

102 -Processamento (WebDAV)

Os pedidos complexos podem demorar mais tempo do que o habitual a serem processados pelo servidor Web. Quando o browser de um cliente efectua um pedido WebDAV que contém vários subpedidos com requisitos complexos, o servidor demora algum tempo a processar e, por fim, envia o código "102 - A processar". Este método tenta evitar problemas de timeout do lado do cliente, alertando-o para o facto de o servidor ter recebido e processado o pedido.

103 -Primeiras dicas

Ao fornecer o estado HTTP ao browser antes de processar os pedidos HTTP, o servidor Web obtém o código "103 - Early Hints". O termo implica que se trata de um aviso ao browser do cliente de que o servidor ainda não começou a processar os pedidos.

2XX códigos de estado de sucesso

Quando recebe um código de estado HTTP entre 200 e 299, isso significa que o servidor proxy enviou o seu pedido ao servidor Web e recebeu a resposta adequada. Para além do código 200, que informa que o servidor Web recebeu o pedido, os outros códigos 200 que podem gerar erros são:

204 - Sem conteúdo

O servidor proxy entregou o pedido, mas o servidor não enviou uma resposta. Por conseguinte, esta mensagem HTTP não é uma mensagem de erro. Alguns pedidos podem não necessitar de uma resposta ou o destino pretendido não tem uma resposta.

Solução: Verifique as definições de proxy e certifique-se de que o servidor Web responde ao seu pedido para resolver este problema.

206 - Conteúdo parcial

Obtém uma parte do conteúdo solicitado se não receber resposta com um código de erro HTTP 204.

Para resolver este problema, o utilizador deve verificar se configurou corretamente o raspador para receber o fluxo de dados pretendido.

3XX Códigos de estado de redireccionamento

Os códigos 3xx indicam que é necessária mais ação por parte do cliente para completar o pedido.

Ao usar um navegador como o Google Chrome ou o Safari, esses códigos de status não serão um problema, mas serão quando você estiver usando seus scripts para raspar a Web. Os scripts que desenvolver irão ajudá-lo quando não houver necessidade de redirecionar pedidos para outros URLs.

Normalmente, os navegadores Web não seguem mais de cinco redireccionamentos consecutivos do mesmo pedido, uma vez que estas acções podem gerar loops infinitos.

Seguem-se alguns dos códigos de erro 3xx mais frequentes:

302 - Redireccionamento temporário

Este código de erro é apresentado aos utilizadores quando o seu browser redirecciona temporariamente as suas consultas para outro sítio Web. Indica simplesmente que o sítio que gostariam de visitar não está disponível, mas que estará acessível em breve.

301 - Redireccionamento permanente

Esta mensagem de erro HTTP explica que pode agora aceder ao sítio que solicitou. No entanto, o URL será diferente do URL anteriormente acedido, o que é uma ocorrência permanente. Por conseguinte, deve ter em conta o URL atualizado para futuras visitas.

4XX Códigos de estado do cliente

Esta classe de código de erro indica que o obstáculo ocorreu do seu lado. Como resultado, pode ser necessário verificar novamente o navegador ou o script para raspagem. Uma vez que este problema tem origem na sua parte da ferramenta de raspagem ou do browser, é um pouco mais fácil de localizar e corrigir.

400 - Pedido incorreto

Trata-se de uma resposta geral que indica que o pedido que enviou teve um problema. O seu servidor proxy ou o sítio Web de destino podem não conseguir compreender o seu pedido. As causas prováveis deste problema podem dever-se a sintaxe distorcida, formatação incorrecta ou encaminhamento enganador do pedido.

401 - Não autorizado

Quando um utilizador tenta visitar um site sem fornecer as credenciais de autenticação necessárias, ocorre este tipo de erro HTTP. Quando o proxy que está a utilizar tenta visitar o Web site visado mas não tem a autorização adequada, o servidor proxy devolve a mensagem de erro 401.

Para ultrapassar um erro 401, é necessário iniciar sessão no sítio Web com as credenciais adequadas.

402 - Pagamento obrigatório

O código de resposta HTTP 402 Payment Required é um código de estado de erro do cliente não normalizado que se pretende utilizar no futuro.

Este código pode, por vezes, implicar que o pedido não pode ser concluído até que o cliente efectue o pagamento. Os programadores criaram-no originalmente para permitir o dinheiro digital ou sistemas de (micro) pagamento, e sinalizaria que o material solicitado não estaria disponível até que o cliente pagasse. No entanto, não existe uma norma de utilização universalmente aceite e várias entidades aplicam-na a múltiplas situações.

403 - Proibido

O proxy ou servidor Web compreende o seu pedido, mas recusa-se a responder, indicando um código 403. Quando não tem autorização para aceder a um recurso, isto acontece. Como solução, é necessário obter a permissão adequada antes de aceder ao recurso.

404 - Não encontrado

A causa de um erro 404 é a indisponibilidade de um recurso devido ao facto de ter sido eliminado ou movido para uma localização diferente. Embora o pedido efectuado seja válido, o servidor proxy e o servidor Web devolverão o código de erro 404.

Para evitar este erro, é necessário confirmar o URL.

405 - Método proibido

Este erro ocorre normalmente quando se tenta aceder a um método válido, mas a sua ação é proibida. Por exemplo, invocar um método Delete para eliminar um recurso num sítio Web para o qual não tem permissão.

406 - Não aceitável

O servidor não pode fornecer uma resposta que corresponda à lista de parâmetros aceitáveis definidos nos cabeçalhos de negociação proactiva de conteúdos do pedido. Assim, o servidor está relutante em fornecer uma representação por defeito.

407 - Autenticação de proxy necessária

Quando um servidor proxy solicita a autenticação, apresenta um código de estado 407. Ao contrário dos outros problemas, pode resolver este problema com facilidade. Certifique-se de que o nome de utilizador e a palavra-passe que forneceu estão correctos, verificando-os duas vezes. No que diz respeito à autenticação de IP, isto implica que não colocou o endereço IP do seu dispositivo na lista branca para poder utilizar o proxy. Se continuar a ter problemas, recomendo que contacte o seu fornecedor de proxy.

429 - Demasiados pedidos

É muito fácil perceber este erro. Quando os utilizadores enviam demasiados pedidos num curto período de tempo para o sítio Web de destino, ocorre este erro.

É a causa de os utilizadores extraírem dados excessivos utilizando vários bots ou programas de recolha de dados para recolherem montes de dados num curto período de tempo.

Os utilizadores devem utilizar proxies de alta qualidade fornecidos por fornecedores respeitáveis para evitar ver esta mensagem de erro.

A utilização de um conjunto decente de proxies rotativos dá conta do recado na maioria dos cenários. Quando os utilizadores acedem aos seus sítios Web de scraping com um endereço IP diferente, digamos, a cada 10 minutos ou mais, diminui a probabilidade de ser banido.

Códigos de erro do servidor 5XX

Estes erros do servidor resultam normalmente de uma falha do servidor ao processar o pedido que enviou. Por exemplo, o servidor está offline ou avariou enquanto o pedido estava a ser processado. Por outro lado, pode haver um erro fatal ou de sintaxe no código ou o servidor da base de dados falhou. 

Como vê, estes erros estão fora do seu controlo. No entanto, tendo dito isto, há várias precauções que pode tomar para eliminar estes erros. Por exemplo, pode substituir a rede proxy, o tipo de IP e rodar frequentemente os proxies. Para rodar os proxies, seria ideal utilizar proxies residenciais.

Vamos descobrir os tipos mais proeminentes de erros 5XX:

500 - Erro interno do servidor

Este erro resulta de uma falha inesperada num servidor, como uma falha do servidor ou o servidor ficar offline. Uma solução mais direta para ultrapassar este problema seria reiniciar o servidor. No entanto, pode não ser sempre bem sucedido.

501 - Não implementado

O erro "Não implementado" ocorre devido ao facto de o servidor não conseguir fornecer o recurso solicitado. Provavelmente, isto deve-se ao facto de estar a utilizar um método não reconhecido ou não autorizado no seu pedido.

502 - Gateway incorreto

Este erro ocorre quando um servidor funciona como gateway ou proxy e recebe uma resposta inválida de outro servidor. É bastante comum durante o processo de recolha de dados.

Quando os super proxies se recusam a ligar-se à Internet ou a enviar pedidos, os bots mostram o código 502 porque os IPs não estão disponíveis para os parâmetros seleccionados.

Para resolver este problema, é necessário limpar a cache e ligar-se ao sítio Web sem o servidor proxy. Se o erro continuar a ocorrer, deve contactar o administrador do sistema.

503 - Serviços indisponíveis

Este erro ocorre quando um servidor recebe o pedido enquanto está sobrecarregado por outros pedidos ou indisponível para manutenção planeada. Se tiver privilégios suficientes, acompanhe o progresso do servidor solicitado em caso de manutenção.

Em cenários de web scraping, este erro pode ocorrer devido ao facto de o site de destino detetar que se está a esconder atrás de um proxy. Como resultado, o servidor Web de destino proíbe o seu proxy. É possível evitá-lo com proxies rotativos.

504 -Gateway Timeout

O pedido de tempo limite do gateway surge quando um servidor que actua como gateway, como um proxy, não recebe uma resposta do servidor Web de destino. A causa provável pode ser que o servidor Web ainda esteja a processar o pedido, mas o servidor proxy não pode esperar.

A única solução seria contactar o seu fornecedor de proxy.

Melhores práticas para ultrapassar os códigos de erro HTTP

Agora já conhece os cenários que geram os códigos de erro HTTP. Vejamos algumas das melhores práticas para evitá-los em primeiro lugar.

  • Proxies residenciais: Estes proxies fornecem um grande conjunto de IPs e, por isso, pode rodá-los para evitar que os sites de destino o bloqueiem. O ProxySrcape fornece proxies residenciais de alta qualidade e, para mais informações, visite a nossa página.
  • Melhorar a rotação: Pode utilizar uma ferramenta de gestão de proxy para realizar esta tarefa. Como resultado, ultrapassaria os pedidos efectuados com o mesmo endereço IP.
  • Reduzir o número de pedidos: O envio simultâneo de um grande número de pedidos pode levar a suspeitas por parte do sítio Web de destino. Pode evitá-lo definindo um intervalo entre cada pedido.
  • Scraper com elevado desempenho: Quando se tem um scraper com alto desempenho, simultaneamente com todos os factores acima mencionados, o scraper contorna as barreiras impostas pelos sítios Web.

Conclusão

Agora já sabe quais são os tipos normais de erros de proxy que pode encontrar. Em primeiro lugar, o ideal seria evitar os erros para fazer scraping dos sítios Web e realizar outras tarefas com proxies sem qualquer impedimento. 

Esperamos que siga todas as directrizes deste artigo e que as utilize da melhor forma.