Proxy Status Errors: How to Identify and Resolve Them

Mihai Maxim on Feb 01 2023

blog-image

Do you find yourself constantly stumped by mysterious proxy error codes? The truth is, these errors are quite common, especially if you're new to using proxies. Understanding them will help you avoid interruptions and manage your proxies more efficiently.

In this article, I’ll walk you through the most common proxy status codes and explain what each of them means.

What is a proxy error?

A proxy error occurs when a request sent to a web server via a proxy server is not fulfilled. There are several factors that can cause this error, such as an invalid proxy server address, incorrect proxy authentication, or a blocked connection. These errors are identified by proxy error codes. The codes are similar to HTTP status codes. They indicate the type of problem that has occurred and can be used to troubleshoot and fix the problem.

Officially, there are five HTTP response status classes. The first digit of the code signifies the category of the response:

  • 1xx (Informational) codes indicate that the server has received and is processing the request.
  • 2xx (Successful) codes indicate that the server has received and accepted the request.
  • 3xx (Redirection) codes indicate that additional actions are required to complete the request.
  • 4xx (Client errors) codes indicate that the request contains errors and cannot be executed.
  • 5xx (Server errors) codes indicate that the request seems valid, but the server failed to complete it.

Status codes in the 100 and 200 range are simply for providing information and don't necessitate any action. Codes in the 300, 400, and 500 range indicate a problem that requires further attention. Most websites and proxy servers use them. However, it's worth noting that this is just a general convention. You could encounter services that assign different meanings to the same status codes.

100 - Continue

The 100 status code is an informational response that indicates that the server has received the initial part of a request. The client can proceed with sending the remainder of the request or ignore it if it has already been completed. It is a non-error code and is used to confirm that the server has received and is processing the request.

101 - Switching protocols

The 101 status code means that the client’s browser is requesting the server to alter the communication protocol. It shows that the server understands and is willing to switch to a different protocol. This status code is typically used to upgrade a connection from a lower-level protocol to a higher-level one.

102 - Processing

HTTP 102 is a non-standard code indicating that the server has received the request but it's not ready to send a response yet. It is an interim response that informs the client to wait for a final response and not to close the connection.

103 - Early hints

The 103 status code is used to allow the user agent to start preloading resources while the server is still preparing a response. For example, when a browser sends a request. If the server knows that the content needs resources like style.css or script.js etc. . It will hint to the browser to preload the content. HTTP 103 is not included in the official HTTP/1.1 specification. Its usage may vary depending on the context.

200 - OK

HTTP 200 OK is a standard response code indicating a successful request. It is the most common status code returned by a web server and it means that the server has received, understood, and accepted the request.

203 - Non-Authoritative Information

The HTTP 203 Non-Authoritative Information response status indicates that the request was successful but the enclosed payload has been modified by a transforming proxy.

301 - Moved Permanently

A 301 status code is a HTTP response status indicating that the requested resource has been permanently moved to a new URL. It is important to note that this is not an error and it's considered best practice for upgrading users from HTTP to HTTPS. Browsers and scrapers will automatically follow the new URL and update any bookmarks or links to the new location. Additionally, search engines will also update their indexes to the new URL.

305 - Use Proxy

HTTP 305 Use Proxy is a deprecated status code, it is no longer used and should be avoided due to security concerns. It instructed the client to connect to a proxy and repeat the same request. It is similar to a redirect, but it tells the client that the resource can only be accessed via a specific proxy.

306 - Switch Proxy

The HTTP 306 status code is not commonly used in modern web applications. It was used to indicate that the client should use another proxy server as the requested resource was temporarily available through that specific proxy. It's important to note that this status code is not in use anymore and you should not expect to see it in current HTTP implementations.

How to solve it: make the request with the specified proxy.

307 - Temporary Redirect

The 307 status code is a type of redirect that indicates that the requested resource is temporarily located at a different URI.

How to solve it: follow the redirect link and make the request again.

400 - Bad Request

The 400 status code indicates that the server will not process the request because it perceives it as a client error. This can be due to issues such as incorrect syntax, excessively large size, invalid message framing, or suspect routing of the request.

How to solve it: make sure that your request contains all the required information. Use the right request syntax.

401 - Unauthorized

The 401 error status occurs when the request lacks valid authentication credentials for the target resource. The client must authenticate itself to get the requested response. This status is similar to 403 error, but tells that authentication, rather than authorization, failed.

How to solve it: provide the right authentication information.

403 - Forbidden

A 403 Forbidden status code indicates that the proxy or web server understands the request, but refuses to authorize it. This typically occurs when the client does not have the necessary permissions to access the requested resource. Various factors may be causing this restriction. Using incorrect login credentials or performing actions reserved for site administrators are some of them.

How to solve it: obtain the appropriate permission or correct the credentials.

404 - Not Found

A 404 error occurs when a requested resource is not available. It indicates that the URL requested by the client cannot be found.

How to solve it: make sure you use the right URL and retry the request.

407 - Proxy Authentication Required

The 407 status code indicates that authentication is required by the server before fulfilling a request. This error typically occurs when a proxy server is used and the client lacks proper authentication credentials. The cause can also be a failure to whitelist the clients IP in the proxy server settings.

How to solve it: make sure you include the right credentials. Check if your IP is whitelisted in the proxy servers settings.

408 - Request Timeout

The 408 status code indicates that the server did not receive a complete request message from the client within the server's configured timeout period. It is generally a temporary error. The client can repeat the request again after some time.

How to solve it: check your connection to the server and retry the request. Make sure the server is not overloaded.

429 - Too Many Requests

The 429 status code occurs when the user has sent too many requests in a given amount of time, using the same IP. This status code is often used to implement rate limiting. Rate limiting is a technique that is used to control the rate at which clients can make requests to a server.

How to solve it: set time delays between requests, use different IPs.

502 - Bad Gateway

The 502 status code indicates that the proxy server or getaway received an invalid response from another server it was trying to access. A 502 error is usually not something you can fix. Most times it requires a fix by the web server or the proxies you are trying to get access through.

How to solve it: clear your cache and cookies. Try to make the request without the proxy server.

503 - Service Unavailable

The 503 code means that the server is currently unavailable to handle the request. This status is typically used when the server is undergoing maintenance or is overloaded with traffic.

How to solve it: retry the request at a later time or make the request with different IPs.

Wrapping up

I hope this guide helped you get a better handle on the common error codes you might come across when using proxy servers. Remember, some errors aren't even your fault. Knowing what these codes mean can save you a lot of headaches when trying to figure out what went wrong. If you want to know more about HTTP status codes, check out the MDN web docs. If you are interested in using proxies for web scraping, you may also enjoy this article.

News and updates

Stay up-to-date with the latest web scraping guides and news by subscribing to our newsletter.

We care about the protection of your data. Read our Privacy Policy.

Related articles

thumbnail
GuidesHow To Scrape Amazon Product Data: A Comprehensive Guide to Best Practices & Tools

Explore the complexities of scraping Amazon product data with our in-depth guide. From best practices and tools like Amazon Scraper API to legal considerations, learn how to navigate challenges, bypass CAPTCHAs, and efficiently extract valuable insights.

Suciu Dan
author avatar
Suciu Dan
15 min read
thumbnail
Use CasesUtilizing Web Scraping for Alternative Data in Finance: A Comprehensive Guide for Investors

Explore the transformative power of web scraping in the finance sector. From product data to sentiment analysis, this guide offers insights into the various types of web data available for investment decisions.

Mihnea-Octavian Manolache
author avatar
Mihnea-Octavian Manolache
13 min read
thumbnail
GuidesWeb Scraping API Quick Start Guide

Get started with WebScrapingAPI, the ultimate web scraping solution! Collect real-time data, bypass anti-bot systems, and enjoy professional support.

Mihnea-Octavian Manolache
author avatar
Mihnea-Octavian Manolache
9 min read