We can certainly understand your feelings when your online scraping mission finishes abruptly generating some number similar to an http error code. Is it something wrong with your default settings or the proxy itself? Normally, such errors occur if the proxies are mismanaged and knowing the meaning of the error will prompt you for the solution to such a specific problem.
In this guide we have compiled a list of the most common proxy errors demonstrating when and why you might get them. You will be able to learn about the proxy error meanings and uncover some recommended actions meant to help you overcome such errors.
What is a Proxy Error?
So, what does a proxy error mean in general terms? When a request you send via a proxy to a web server fails it results in a http error code on the part of the server. And since it is vitally important for you to keep using the proxy, you need to be aware about the meaning of such error code to understand it and take further actions. Now, before we get to the “actions” part let’s consider the “understanding” part. The proxy codes come in three digits with the first one representing the class of error. The total number of classes is five.
Classes of Proxy Error Codes
1xx – Informational Error Codes
This class of error codes is rarely used and depicts the status of requests being processed by a proxy.
2xx – Success Error Codes
Denotes that the proxy server that you are using is successfully performing the operation.
3xx – Redirection Error Codes
Indicates that an additional action is required on the client side to perform the requested operation.
4xx – Client Error Codes
These codes indicate that the error was generated on the client side (in the request syntax, the Internet browser or the automation bot).
5xx – Server Error Codes
This type of error occurs when the server fails to process the request received from the proxy successfully.
Detailed Description of Proxy Errors and Possible Solutions
1xx – Informational Error Codes
Before giving you a detailed description of such codes we have to say that they occur rarely and signify that the server is processing the requests received from the proxy.
100 – Continue
This code is an indication that the request is being partially received and the remaining part of the request is now expected to be sent through the proxy. Normally, it is executed through an intermediary code request via sending “expect: 100 – continue” in the header. Once 100 is received, the rest of the body can be sent.
101 – Switching Protocols
This server’s status code means that the browser (Chrome, Firefox, etc.) is requesting to change the current data transfer protocol. Once the protocol switch is acknowledged and approved, the client’s browser sends “100 – Switching Protocols” HTTP status code.
102 – Processing (WebDAV extension)
With this code the target web server indicates that it needs more time for processing the current request. In case of a range of sub-requests from the client’s browser sent using WebDAV, the server will eventually respond with “102 – Processing” code, indicating that it needs more time to complete the current requests.
103 – Early Hints
With this code the web server shows to the browser prematurely that it has not yet started processing the requests yet.
2xx – Success Error Codes
The error codes from this range (from 200 to 299) indicate that the web server received the request via your proxy and got a response. The most frequently received code here is 200 that indicates that the request has been successfully fulfilled. However, if you receive a different code, it may mean some kind of error that requires your attention.
201 – Created
The target web server generates this code to indicate that a new resource was created in response to a request. This means that the server used the original request as a point of initiating the next response. This code is usually used during the authentication with a server with username and password request.
202 – Accepted
This code is used to indicate that the server received the request but has not processed it yet. Please remember that this is just an indication that the request was accepted and does not mean that the processing is complete.
204 – No Content
This code indicates that the server failed to find any content to meet the request.
205 – Reset Content
This code is similar to code 204 when no content was found. The difference here is that this code requests the content view to be reset by the client.
206 – Partial Content
This code means that the content retrieved from the target server only partially meets the requested content from the header. This can happen when a range of files was requested and only some got retrieved.
3xx – Redirection Error Codes
The 3xx redirection codes indicate that there is a need for some additional action from the client side. You need to pay special attention to these codes if you are using your own scripts to run the proxies.
300 – Multiple Choices
Now, this code indicates that the request is directed to more than one target.
In the situation when your scraper or browser cannot decide which data to retrieve, you will get this error code. To solve this problem make sure that your proxy is directed at a single resource for data retrieval.
301 – Resource Moved Permanently
This code is received when the targeted URL is redirected to a different URL.
When search engine crawlers are involved, they will be able to handle up to 5 redirects for one URL. After that you will have this error returned to avoid an infinite loop.
This is by far the most common 3xx error code.
302 – Resource Moved Temporarily
Error code 302 indicates that a temporary redirect was set to the targeted URL. It means that your request will be redirected to another URL when it occurs.
4xx – Client Error Codes
The most frequently occurring errors communicated to the client are 4xx and 5xx codes. If you receive a 4xx error code, it means that the error occurred on the client side (in the request, browser or your bot).
400 – Bad Request
This code means the proxy failed to parse the incoming request.
401 – Unauthorized
This code indicates that you are trying to access a resource that requires authentication. Basically, you are unable to connect to the proxy server properly. Just provide the right username and password to get the credentials recognized and resolve this connection problem.
402 – Payment Required
Now this here is a rare code that was set aside for future use. It is meant to indicate the presence of a digital payment system on the targeted site.
404 – Not Found
This code indicates that the targeted resource was not found even if the request is genuinely valid. Normally, it is a result of dead links, meaning that the original resource was removed or changed without proper redirection.
405 – Forbidden Method
This error code shows that the method the user applied for this particular request is not allowed.
407 – Proxy Authentication Required
A possible reason for having 407 status code appear is entering your proxy credentials (usernames, passwords) incorrectly into your script or scraper. To solve the problem of error code 407 you need to verify your proxy credentials and make sure you enter all of the information as required. Another possible reason may be in whitelisting your device’s IP with the proxies you use. Make sure it is in the list and contact your proxy provider if the problem persists.
429 – Too Many Requests
This error occurs when you send too many requests within a certain time-frame. The resource you are trying to access views it as a botting activity and prevents you from accessing. This situation can also be followed with triggering captcha on some of the resources equipped with an anti-bot security system. Read more on how to avoid captcha in our blog here.
A solution here would be using rotating proxies with properly set delays between the IP rotations for this particular resource.
5xx – Server Error Codes
The range of 5xx codes relates to errors when the server receives the request but fails to process it successfully.
One common solution to 5xx errors would be rotating the proxy IPs automatically (changing the proxy network). These errors are less prone to occur when you are using static residential proxies as well. Also, you want to pay attention to the server locations that you are targeting. So, we would recommend you buy a US proxy if you want to conduct your mission on a server located in the USA market geographically.
500 – Internal Server Error
500 proxy error code is returned when an unexpected server condition occurs, stopping the server from responding.
501 – Not Implemented
This error signifies that the server cannot process the request properly due to some unsupported method used in the request.
502 – Bad Gateway
The http code 502 is returned when your proxy receives an invalid response from the target server.
The way to resolve this problem will be cleaning your cache and cookies. If the problem persists, try changing your DNS and using the system without the proxy.
503 – Service Unavailable
With proxy error 503 the targeted server indicates that the current request cannot be resolved. Or, it means that the server is currently unavailable due to maintenance.
504 – Gateway Timeout
This error status occurs when your proxy fails to receive a response from the target on time. The reason could be that the request is still being processed and your proxy server is unable to wait any longer. If this code keeps coming up, adjust the timeout settings in the header of your proxy request or contact your proxy provider.
505 – HTTP Version Not Supported
This http proxy error code appears when your server does not support the HTTP version used in the request. To solve this problem you can buy an HTTP proxy matching the version instead of the proxies you currently operate.
507 – Insufficient Space
This code means that the server you are trying to access ran out of space and cannot process your request.
510 – Extensions Are Missing
This error code is returned when the server fails to process your request due to an unsupported extension that was requested.
Proxy Error Codes Specific to PrivateProxy
Static Proxy Error Codes
Our static proxy servers mostly use non-standard error codes, so that they don’t clash with the standard ones that could be returned by a real HTTP server. The only standard one is 407.
When a non-valid HTTP proxy request is encountered the server will silently close the connection.
Along with errors returned there’s a special header present in the response and Server header will look like this: “Server: FaaS vX.X-XXXXXXXX-XXXXXXXXXX”, where X is some digit or a letter. The special header is X-Request-Error.
Here’s a list of error codes you might encounter:
407 Proxy Authentication Required – bad credentials, or no credentials, but no IP address or a wrong one was authorized in our system. Note that it takes a few minutes for changes to authorized IPs, as well as credentials right after package creation, to take effect. X-Request-Error is not present in this case, since this error is only returned by the proxy server.
451 Unavailable For Legal Reasons – means you’ve tried to establish a connection to a site, that is currently locked out of our system, or that you’ve tried to access a blocked port on a host (allowed ports are 80, 443, and everything greater than or equal 1025, except 2080, 2525, 3306, 5432, 6379, 9200, 9300, 10000 and 11211). X-Request-Error in this case equals to TARGET_HOST_IS_BLOCKED. The response body will contain the reason why the request is blocked. This error is used instead of 403, because 403 might be returned by the target host. 451 can also be returned by the target host, but it’s a rare error, not usually used.
570 DNS Resolution Failed – the proxy server failed to resolve the target host’s IP address, either because there was no A DNS record or there’s some problem with an authoritative DNS server on the host.
572 Target Host Connection Failed – the proxy server failed to connect to the target host. This usually means the host is down, or they’re blocking the proxy IP with a firewall.
573 Target Host Communication Error – there was an error encountered when sending a request to the target host or reading back the response. This error is only returned for non-CONNECT requests.
529 Proxy Rate Limit Reached – is sent when your package is limited in the number of connections to each proxy IP. By default, there’s no such limit.
Backconnect Proxy Error Codes
Backconnect proxies have a few more errors:
429 – Too Many Requests – You have reached the connection limit on this port. To discern this proxy error from a 429 that might be returned by a site, inspect the body of the response, it should say: “Backconnect: too many requests received”
500 has 2 different meanings:
Body of response: Connection to the target proxy failed, retry request. Backconnect server failed to establish a connection to the target proxy within the time allotted.
Body of response: Your IP pool is empty, please contact support for options. Currently your package contains 0 proxy IPs in your pool. This might happen when you have an auto-pool that is updated by our checkers daily.
Also a 408 error is used when the backconnect server fails to read a request in the time allotted.
You might also see some errors like 403 and 503 from static proxies, since backconnect uses our own static proxies to establish connection to the target host.
Recommendations on How to Fix Proxy Errors
Now that we have covered the most frequently appearing proxy error codes we can shed more light on how to fix proxy errors. One way would be through the use of a special open-source software tool called a proxy manager. With this manager you will be able to make certain adjustments like making timely updates to credentials and zone information. This will help you avoid a lot of errors.
The proxy manager also helps you program some actions to avoid errors. For instance, in order to solve error 403 (Forbidden access) you can use rotating residential proxies. By adjusting the rotations, you may succeed with granting yourself access to an otherwise restricted website.
Now, let’s consider some more recommendations on how to avoid proxy errors.
Consider Using Residential Proxies
Some improvement in reducing the number of errors can be detected if you replace some of your datacenter with residential proxies. Although being a bit expensive, residential proxies are less prone to be detected. Also, you can successfully rotate them to avoid errors. Read our article on this subject to learn more about the difference between residential vs datacenter proxies.
Reducing the Number of Requests
Websites are extremely cautious about the number of requests your scraper or bot can send to it. If this number is way too high, it will get suspicious and block your proxy’s IP. The solution here would be to set a delay between the requests to imitate a more human-like data access. Also, you should minimize the number of requests from the same IP to further improve the situation.
Use Updated Tools
Now, all of these recommendations will become void if you start using some unreliable scraper with poor performance. Please, make sure that all of your third-party tools hosting the proxies are up-to-date and perform according to your expectations to minimize the number of errors.
Consider PrivateProxy Your Trusted Partner
The most important message we want you to hear from our side as to how to go about solving proxy-related errors is that you will never be left out in the dark with us. Our tech support and account managers will help you no matter what obstacles you will encounter during the lifetime of our proxies. We will carefully guide you to the right solution to the problem and offer ways to further improve your online operation.
The above list of proxy errors may appear quite comprehensive but you have to remember that you may encounter some errors that would be outside of this list and have some customized numbers. In this case you will need to approach your proxy provider for a solution. Otherwise, we hope this list and recommendations following it come handy in your day-to-day online operations involving proxies.
Frequently Asked Questions
Please read our Documentation if you have questions that are not listed below.
What is a proxy server error and how do I read it?
A proxy server error code is a number indicating the current status of your proxy operation. If you are running your proxy in the browser, you will be able to see it in it regardless of your operating system (MacOS, Windows, Linux, etc.) Once you know the error code you can understand the possible flaws (and solutions) of operating your proxy by studying the list of codes in this article.
What if my proxy server issues lie outside of the codes indicated in this article?
If you are having proxy issues that are not covered by this article, the best possible way to handle them would be to approach your account manager who will guide you through resolving such issues. It should not take a lot of time and only a few clicks away.
How do I go about fixing proxy server errors?
We have listed some recommendations on how to fix proxy server errors in the article right next to the descriptions of error codes. Some of them include changing the type of proxy from datacenter to residential or checking if your proxy credentials are put in correctly. But the best way to handle the problem would be contacting the tech support of your proxy provider to source a possible solution.
How to fix “unable to connect to the proxy server”?
If you can't connect to a proxy server that you are deploying, please check the credentials you are entering into the script, bot or some other software tool that you are using. If the problem persists and the proxy server is “not connecting”, contact your proxy provider to get the issue resolved.
Top 5 posts