Get proxy error

Getting a proxy error can be annoying, especially if you don’t know how to deal with it. Check this article to learn more about error codes and how to fix them.

Have you ever had to pause your scraping routines because of recurring proxy error codes? That’s a widespread problem, especially if you’re new to scraping with proxies. Since there’s a great variety of status codes, each having a distinctive meaning and solution, it may sometimes get very confusing.

In this article, we’ll explain how to fix proxy server errors and we’ll go over the most common errors. By learning proxy status errors and how to handle them, you can swiftly complete your scraping activities and manage proxy server IPs efficiently.

What is a proxy error?

Briefly, a proxy server error is an HTTP error status. It occurs when the request you sent to a web server via a proxy server doesn’t succeed. Normally, the code reveals what kind of proxy issues you’ve run into. Since there are plenty of codes, proxy errors may seem quite puzzling. Depending on the error code, you’ll have to develop a solution to deal with it.

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

Status code class Meaning
1xx informational response The server has received the request and is now processing it.
2xx successful The server has received and accepted the request.
3xx redirection Additional actions are required to complete the request.
4xx client error The request contains errors and can’t be executed.
5xx server error The server failed to carry out a seemingly valid request.

While the 1xx and 2xx class codes are intended for information purposes and don’t require any actions, the 3xx, 4xx, and 5xx codes hint at an issue that needs attention and additional steps to be performed. 

It’s noteworthy that in this blog post, we’ll cover only the generic proxy status codes, meaning that most proxy server providers and websites use them. However, there are edge cases when the same status codes are used for different reasons. 

100 — Continue

Normally, the 1xx status codes are used when a server is processing a request. However, they are quite rare. The 100 error signifies that the server has already received a request header, and you can proceed with sending the body of the request.

101 — Switching protocols

101 — Switching protocols

If you bump into a 101 status code, it means that the client’s browser is requesting the server to alter the communication protocol during transmission. If you receive this code, it means that the server has accepted this request and is now sending you a notification of an acknowledgment.

102 — Processing (WebDav)

102 — Processing (WebDav)

If a client is sending complex requests involving multiple requirements, the target server may take some time to process it. In order to avoid a timeout error on the client’s end, the server informs the client that the request has been received and is now being processed.

103 — Early hints

The 103 status code means that the server is about to send a final response containing the header fields and included in the informational response. 

301 — Moved Permanently

You will receive a 301 error when there’s a permanent redirect set to an original URL. It forwards the user agent to another URL. Usually, such small proxy errors are not an issue, as many scrapers and browsers will follow the new URL.  

305 — Use Proxy

The 305 error code pops up when the web server you’re requesting can be accessed only via a proxy. 

The 305 error code is deprecated, meaning it shouldn’t be used these days due to security concerns. That’s why the chances of you running into this proxy error are quite low. 

How to fix: In this case, a client should connect to a proxy server and re-try the same request. 

306 — Switch Proxy

The 306 error code response is a bit different from the 305 proxy error code. It entails that an HTTP client is already using a proxy server, and this code is used to tell that you should connect via another proxy server. Again, this error code is a rare find these days. 

How to fix: Connect using a different proxy server. 

307 — Temporary Redirect

If you see the 307 proxy error code, it means that you will be temporarily redirected to a different location in order to access the resource. 

How to fix: In this case, you should simply follow the redirect link and make the request again.

400 — Bad Request

The 400 error message is a common response signaling that the target server or the proxy server can’t process your request. It can be caused by multiple reasons, for example, invalid formatting, receptive request routing, or malformed syntax. 

How to fix: If you encounter this error code, the first thing you should do is scan through your request to ensure it contains all the required information. After that, you can try sending the request again. 

If you stumble upon a 401 proxy error code, most probably, the resource you’re trying to access requires authentication. You can solve the issue by providing authorization details. However, you should keep in mind that scraping data hidden under authentication requirements may be illegal or at least unethical. 

How to fix: You need to provide authorization information. 

403 — Forbidden

The 403 error message is extremely generic and is used when something’s forbidden, for whatever reason. Since it’s not specified, most of the time, it’s hard to figure out the actual reason. This code might signify that you’re trying to do something only site administrators can do. So you either don’t have permission for this or logged in using the wrong credentials.   

404 — Not Found

Proxies return a 404 error code when the online resource you requested is no longer available. It means that the URL is either incorrect, was changed without redirection, or doesn’t exist anymore. 

How to fix: If you see this error, you should double-check the URL and try again. 

407 — Proxy Authentication Required

407 — Proxy Authentication Required

You’ll see the 407 status code error when authentication is required. It happens when your scraping tool is not authenticated correctly with the proxy server provider or when you enter the wrong credentials. Another reason for this proxy error is not whitelisting your IPs in the proxy server settings. 

How to fix: Fixing this issue is simple. You need to update your proxy server settings by including whitelisted IPs and use appropriate credentials. Besides, you should make sure that all the required information is included in the request. If you don’t succeed in solving these proxy issues for some reason, contact your proxy server provider for assistance.  

408 — Request Timeout

The 408 proxy error code occurs when a client hasn’t made a request while a server is configured to wait. A slow request can happen for many reasons, including poor or lost internet connection. 

How to fix: You should check your connection and try sending the request again. If this proxy error is persistent, check your web server’s load. 

429 — Too Many Requests

The 429 proxy error occurs when a client is sending too many requests within a limited amount of time, using the same IP. This way, a web server considers you a bot and restricts access. 

Also, some proxy providers use the 429 status code to rate-limit the customer before reaching the web server. It may be determined by the proxy provider’s terms and conditions. 

How to fix: To fix this proxy error, you should rotate your IP address and set time delays  between requests. 

502 — Bad Gateway

Normally, you would get this error when the server you’re trying to reach acts as a proxy or a getaway and receives an invalid response from another server. 

How to fix: If you encounter this error, you should try clearing your cache and cookie files. If it doesn’t help, the next step you can take is to change your DNS and try making a request without using a proxy server. 

503 — Services Unavailable

503 — Services Unavailable

You’ll see the 503 status code error when the server you’re trying to access is unavailable. Most of the time, it happens because the server is overloaded with requests or it’s undergoing a planned downtime. 

Another reason for this is that your proxy IP has been identified and blocked from the website. In this case, you should try using a different proxy. Also, you can always prevent blocking by rotating your IP.

How to fix: Try rotating your IP address. 

Conclusion 

Proxy status error codes are quite an unfortunate obstacle on the way to the desired data. Nevertheless, most of them are quite straightforward to address if you know their meaning and basic steps to take when crashing into them. 

If you found this guide useful, you may also like this article explaining how to extract data from a website.

Frequently Asked Questions

What causes proxy server errors?

There are two primary reasons for proxy server errors. The first is a misconfiguration in proxy settings from a client’s side, and the second is an issue from the requesting server end. Further consideration of the status code is required for a more precise answer.

How to fix a proxy error?

There’s no universal answer to this question as every proxy error has a unique status code and requires a tailored solution. However, the most generic advice would be to double-check the request and the information it contains, ensure a stable internet connection, and configure proxy settings properly.

About the author

Maryia Stsiopkina

Content Manager

Maryia Stsiopkina is a Content Manager at Oxylabs. As her passion for writing was developing, she was writing either creepy detective stories or fairy tales at different points in time. Eventually, she found herself in the tech wonderland with numerous hidden corners to explore. At leisure, she does birdwatching with binoculars (some people mistake it for stalking), makes flower jewelry, and eats pickles.

All information on Oxylabs Blog is provided on an «as is» basis and for informational purposes only. We make no representation and disclaim all liability with respect to your use of any information contained on Oxylabs Blog or any third-party websites that may be linked therein. Before engaging in scraping activities of any kind you should consult your legal advisors and carefully read the particular website’s terms of service or receive a scraping license.

New Pricing Plans for Residential and Shared Datacenter Proxies
AI-Driven Web Scraping Companion: Introducing Web Unblocker

Augustas Pelakauskas

2023-01-03

How Does a Proxy Server Improve Security

Danielius Radavicius

2022-12-16

IN THIS ARTICLE:


  • What is a proxy error?


  • 100 — Continue


  • 101 — Switching protocols


  • 102 — Processing (WebDav)


  • 103 — Early hints


  • 301 — Moved Permanently


  • 305 — Use Proxy


  • 306 — Switch Proxy


  • 307 — Temporary Redirect


  • 400 — Bad Request


  • 401 — Unauthorized


  • 403 — Forbidden


  • 404 — Not Found


  • 407 — Proxy Authentication Required


  • 408 — Request Timeout


  • 429 — Too Many Requests


  • 502 — Bad Gateway


  • 503 — Services Unavailable


  • Conclusion 

I have a React frontend that uses jwt to authenticate with the Django backend. The backend works and is connecting just fine using django views, but when I try to proxy a request from React, it gives me a Connection Refused error.

Proxy error: Could not proxy request /api/auth/token/obtain/ from localhost:3000 to http://localhost:8000 (ECONNREFUSED).

Connecting to http://localhost:8000/api/auth/token/obtain/ works normally. And sending a POST request with Axios also works normally and returns the token json. But when I proxy it with node, it doesn’t work.

In my package.json I have:

  "proxy": {
    "/api/*":  {
      "target": "http://localhost:8000"
    }
  },

Edit: Public repo. You can run easily if you have docker installed. (uses 1 image and 2 containers). After cloning just run docker-compose build, then docker-compose up.

Edit2: Headers of request:

*General*
Request URL: http://localhost:3000/api/auth/token/obtain/
Request Method: POST
Status Code: 500 Internal Server Error
Remote Address: [::1]:3000
Referrer Policy: no-referrer-when-downgrade

*Response Headers*
HTTP/1.1 500 Internal Server Error
X-Powered-By: Express
Date: Mon, 30 Apr 2018 21:23:17 GMT
Connection: keep-alive
Transfer-Encoding: chunked

*Request Headers
POST /api/auth/token/obtain/ HTTP/1.1
Host: localhost:3000
Connection: keep-alive
Content-Length: 45
Pragma: no-cache
Cache-Control: no-cache
Origin: http://localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36
Content-Type: application/json
Accept: */*
Referer: http://localhost:3000/login
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,fr;q=0.8,ja;q=0.7

asked Apr 30, 2018 at 20:34

cclloyd's user avatar

cclloydcclloyd

7,56115 gold badges55 silver badges96 bronze badges

4

So the issue was since both the Node dev environment and the Django dev environment were running in separate docker containers, so localhost was referring to the node container, not the bridged network.

So the key was to use container links, which are automatically created when using docker-compose, and use that as the hostname. So I changed it to

"proxy": {
    "/api":  {
        "target": "http://django:8000"
    }
},

And that worked, as long as you launch both containers with the same docker-compose command, otherwise you have to manually specify external_links in your docker-compose.yml file.

answered May 7, 2018 at 5:16

cclloyd's user avatar

cclloydcclloyd

7,56115 gold badges55 silver badges96 bronze badges

2

I faced a similar issue but in Mac machine. I changed localhost to 127.0.0.1 in the package.json and that worked for me as below:

"proxy": "http://127.0.0.1:5000"

answered Aug 3, 2020 at 14:12

Abhishek Saini's user avatar

3

I’m running into the same problem as well. Most search results mention adding "secure": false or "ignorePath": true to your proxy config. Something like this:

"proxy": {
    "/api/*":  {
      "target": "http://localhost:8000",
      "secure": false
    }
  },

May be worth a try but unfortunately none of this worked for me. Although each address (http://localhost:3000 and http://localhost:8000) work completely fine in the browser, maybe since the container is actually proxying it needs to use a Docker address?

EDIT—

Alright I think I figured it out. I believe it did have to do with the container to container communication. Looking in your docker-compose, your api server is called django. Change your package.json file to this:

"proxy": {
    "/api/*":  {
      "target": "http://django:8000",
      "secure": false
    }
  }

fracz's user avatar

fracz

20k17 gold badges104 silver badges148 bronze badges

answered May 5, 2018 at 7:17

VincentJr's user avatar

VincentJrVincentJr

3051 silver badge7 bronze badges

2

Didn’t actually get the answer here I was looking for but had an alternative solution work for me. I think it’s specifically related to Node v17, as that’s when it started happening for me but the solution was pretty simple.

I updated:

"proxy": "http://localhost:8000"

To:

"proxy": "http://127.0.0.1:8000"

In case it’s relevant (I don’t think it is) — I was proxying to a Django server.

answered Mar 4, 2022 at 17:23

Sam H's user avatar

Sam HSam H

591 silver badge1 bronze badge

1

If you don’t feel like setting up docker compose, you can also use a docker network:

create network and run docker containers within that network

docker network create webapp_network

docker run -d -p 5000:5000 --name webapp_backend --network webapp_network webapp_backend_image

docker run -d -p 3000:3000 --name webapp_frontend --network webapp_network webapp_frontend_image

Added a line in package.json of my frontend React webapp:

"proxy": "http://webapp_backend:5000"

note you can now refer to your backend using the container name instead of localhost

answered Feb 17, 2021 at 20:31

Tom De Cort's user avatar

answered May 16, 2019 at 0:56

ralphinator80's user avatar

Could see the error after upgrading yesterday Docker to version v19.03.13 (on Mac), restarting Docker fixed the issue. The application also runs Node.js/React, but not Django. Basically, I had issues with connection to MongoDB Atlas related to authentication/fetching anything from the cloud database.

answered Oct 1, 2020 at 11:52

Daniel Danielecki's user avatar

Choosing the exact value for localhost to populate the «target» property is mostly the solution (it can be localhost, 127.0.0.1, [::1] ).

A mac user should type in terminal to get the solution:

sudo lsof -iTCP -sTCP:LISTEN -n -P

answered Jan 29, 2021 at 15:05

Dr Fred's user avatar

Dr FredDr Fred

9297 silver badges15 bronze badges

The correct answer will be to use manual proxy with

  1. target = docker address django:4000
  2. correct HOST header localhost:8000

because if Django uses reverse function which returns absolute url

reverse('preview-mail', args=[mail.pk],request=request)

you need to have correct HOST header for it, or you may get the result URL like
https://django:4000/your-url`

const proxy = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    proxy('/api', {
      target: 'http://django:4000',
      changeOrigin: true,
      secure: false,
      pathRewrite: {
        '^/api': ''
      },
      onProxyReq: function (proxyReq, req, res) {
          proxyReq.setHeader("host", 'localhost:8000')
      }
    })
  )
}

answered Jun 4, 2020 at 20:59

pymen's user avatar

pymenpymen

5,26942 silver badges35 bronze badges

If you’re working on a MERN stack app, make sure you’re not in the client folder. You need to be in the root. While in the root, run this command in the terminal. npm run start:dev

answered Feb 13, 2021 at 21:47

Val's user avatar

1

For NodeJs backend this can be solved by adding a line of code in the package.json file of the backend

"devstart": "nodemon server.js --ignore './location of frontend react directory'",

answered Jan 7 at 5:26

Siddharth Bisht's user avatar

In my case, my server was running on port 3001, but I had "proxy": "http://localhost:3000" in the package.json file of my React fronted project 😆

answered Aug 26, 2022 at 17:05

user3571136's user avatar

How to Solve Proxy Error Codes

Olga Myhajlovska

Olga Myhajlovska
02 Apr 2020
5 min read

Article content

  1. What do HTTP status codes mean?
  2. 2XX status code
  3. 3XX status code
  4. 4XX status code
  5. 5XX status code
  6. How to solve these errors?
  7. Frequently Asked Questions

Errors make scraping unbearably difficult and, in most cases, impossible to execute. Often, HTTP errors happen due to the incorrectly rotated proxies. But to understand what mistake exactly you’re doing, you need to know what each error code means.

In this article, we will take a look at all HTTP error codes you can get when scraping. And we will give you some tips on how to solve these issues and prevent them from happening in the future.

What do HTTP status codes mean?

Every code your scraper receives from the site it’s working with means a certain result — it’s a response of the site to the request. Different issues are marked by different codes. And knowing what the code you keep receiving means, you can realize what actions you have to take to stop facing those errors.

2XX status code

All codes that begin with a 2 mean that your request was successfully processed. If your scraper receives 2XX codes, everything is going fine.

3XX status code

All issues that begin with a 3 indicate a redirection. A 300 code means that the redirect happened due to several possible responses to your request. And, for example, a 301 error indicates that the certain page was moved, that’s why your connection was redirected.

Such code is a result of a server misinterpreting your request. Usually, most 3XX errors can be solved by specifying a user-agent of your proxies. Thus, you will provide the destination server with more data so that it can understand exactly what you want from it.

4XX status code

This is a client-side group of errors. They happen because the server couldn’t understand your request, or because you are not allowed to visit the particular page. For instance, when you see a 401 error, it indicates that you lack the rights to view the page. You might need to be authorized for it or have certain permissions — for instance, a person on Facebook allows only friends to visit their profile, and you’re not this person’s friend on Facebook.

403 error, on the other hand, indicates that the server doesn’t give you permission to view the page for some reason. And everyone knows a 404 error — it tells you that the page you requested wasn’t found.

The 407 is something we need to pay more attention to. It means that the tunnel connection failed or you didn’t provide enough authorization data if you’re using proxies. Also, it can mean that you didn’t authenticate your crawler with the vendor who gave you proxies. If you see a 407 error, you should update the settings of your proxies so that the credentials match the ones you have on the zone page. Also, check if the requests include all the needed data.

The 429 error is also the sort of an issue that helps you to improve scraping techniques. This code indicates that the scraper sent too many requests using one IP address within a short time frame. If you see this code, it shows that the security measures of the site became active.

5XX status code

This group of errors indicates that the server has some issues. During data gathering you might frequently encounter a 502 error that means a bad gateway or a timeout. This code happens for numerous reasons — there might be no available IP addresses for the settings you’ve picked. Or your requests were suspicious, and the server thought you’re a bot, for example.

To solve this error, you should try to rotate your IP addresses better or change the type of proxies at all. You might face 502 frequently with datacenter proxies — try switching to residential ones.

How to solve these errors?

We’ve already given you some hints on how to stop receiving error codes. So now let’s talk about every solution in detail. If you’re just making your first steps in web scraping, we advise you to adopt these techniques right away to minimize the chances of facing the issues.

Switch to residential proxies

Datacenter IPs are cheaper, but they’re not quite suitable for scraping. When you use this kind of proxies, you have a very limited pool of IPs. That’s why the chances to face the error rise significantly — too many requests will be sent from a single address. Also, often you might lack some data in your requests.

Residential proxies are real devices you are rerouted to before going to the required server. Getting this service, you receive access to a certain pool of IP addresses which makes it much easier to rotate them and avoid getting blocked. Infatica offers a very large pool of residential proxies, so you won’t ever lack IPs when scraping.

Improve your rotation

If you send many requests from one IP address, you’re on your way to getting banned by the site you want to scrape. Webmasters safeguard their websites both from DDOS attacks and scraping. So besides that many requests sent from a single IP look like an attack, you can as well face bans because of anti-scraping measures.

The solution is to work on the proxy management tool, or your scraper if it can manage IPs, so that it changes the IP address for every request. Then it’s unlikely that the site you’re working with suspects anything, and your scraping process will be very smooth and fast.

Decrease the number of requests

Too many requests sent to one server look suspicious and can overload the server. Consequently, you will begin getting errors. Even if you’re rotating proxies correctly, you need to keep the amount of requests on a reasonable level. Of course, the more requests you send within a certain time frame, the faster you gather the needed data. But this assumption falls apart when you remember about the anti-DDOS and anti-scraping measures webmasters implement.

If you create a delay between requests of at least a couple of seconds, the process won’t get significantly longer, yet you will face fewer errors.

Make sure the scraper can solve blocks

Advanced scrapers can bypass various restrictions and anti-scraping measures. If you face too many errors, and you’re doing everything correctly in terms of proxy maintenance, you might need a better scraper. It is even more important if you’re working with difficult websites, for example, e-commerce sites. Their managers know they’re a target for data gathering, and they try to implement as many anti-scraping measures as possible to improve their business positions. A good scraper can solve over a hundred of various restrictions, and you should aim for such a solution if you want to gather data successfully and quickly.

Conclusion

Wisely managed proxies are key to successful data gathering. If you implement all these techniques, you can expect your scraping to be smooth and free from errors. However, if you still experience any issues while gathering the required information with Infatica proxies, feel free to contact our specialists via a live chat on the website or by creating a ticket in your Infatica user profile.

Frequently Asked Questions

There are a few potential reasons why you might be getting a proxy error message. It could be that your IP address is being blocked by the proxy server, or that the proxy server is itself down or not functioning correctly. Another possibility is that your browser settings are misconfigured and need to be adjusted.

Proxy error in Chrome is an issue that can occur when you’re trying to access a website through a proxy server. If you see this error, it means that the proxy server isn’t working properly or isn’t accessible.

There can be a few different causes for a proxy error. Sometimes it is caused by your ISP (Internet Service Provider) or your network settings. Another cause can be if you are trying to access a website that is blocked by your ISP or by your government.

Additionally, a proxy error can be caused by using a VPN (Virtual Private Network) that is not configured correctly, or by an issue with the VPN server itself. If you are seeing this error frequently, we recommend contacting your ISP or network administrator to ensure that there are no issues on their end.

As a proxy user, you need to aware of the error codes returned by proxy servers if exceptions occur. Come in now to discover the errors returned by proxies and how to fix them.

HTTP Proxy Error Codes

Are you one of those persons that hate getting errors while using proxies because you do not have an idea of the cryptic message they pass? I understand your pain, but you have to accept the fact that errors are inevitable parts of the whole proxy system. Not all requests will be successful, and the problem might be from either your end (client-side) or from the server-side.


A proxy error is an HTTP error code response when you send a request to a server via proxy server. And If you’re not using a proxy server, 502 error code signified by a proxy error.

Whichever is the case, for you to continue using the proxy, you need to find a solution for the problem. However, finding solutions for them is not that easy for most people since the HTTP Error Codes returned is confusing and cryptic.

It does not have to be confusing, though. If you are conversant with HTTP Status Codes, you will discover that there is no difference between them and that of the errors returned by proxy servers. If you are not knowledgeable about the HTTP Status Code, then you do not have to worry, this article will reveal to you, the HTTP Proxy Error Codes.

Usually, the code provides a clue to what the problem is – I will provide you things to try to get solutions for the problem. The HTTP Proxy Error Codes are numerous, and as such, the discussion will be on the common ones. For clarity’s sake, they will be classified.


0 – Connection Error

Most times, when 0 is returned as the HTTP Error Code, just know that there is a problem with your connection, and no response will be returned to you from the server. There are many reasons why you will get a Connection Error code returned. It might be because you do not have an Internet connection or the website you are requesting resources from is not reachable. This means that you have to cross-check the domain name entered and make sure your Internet connection is working.

HTTP 0 Connection Error

It could also be returned because of a connection timeout or when your client does not get a response back.

How to Fix “Connection Error”?

For the latter, you have to check your proxy settings to make sure everything is in order else; there is nothing you can do about it.

  • Unable to connect to the proxy server? Fix Proxy Error! (Error 130)

2xx – Successful Error Code

Well, I know you will be surprised when you see the word “successful” and “error” used in the same term. This is because when you get a status code returned that’s between 200 – 299, it means that the proxy server received your request sent it to the website you intend to visit and got a response back.

Usually, it returns a Status Code of 200 which means request was successful and response sent. However, if you get any other Status Code in the 2xx range, you need to look carefully as an error must have occurred. Below are the popular errors in the 2xx class.

  • 204 – No Content

Error Code no content

when you get this error message, it means that the server successfully processed your request but no response is returned. This is really not an error as some requests do not require a response.


  • 206 –Partial Content

Partial Content code

Unlike the above that no response is returned, in this error message, only a part of the resource typically returned during download. Make sure your automation script is written in such a way that it can handle streams of bytes returned to avoid seeing this error.


3xx – Redirection Error

This particular class of Status Code is not really an error if you are making use of a browser. But if you have written a script yourself and do not want your requests to be redirected to another URL, that’s when it becomes an error.

Usually, when a web server redirects a request to another URL, your browser goes to such a URL, but not all script does that. Even when a request is redirected to another URL successfully, instead of a 200-status code, a 3xx is returned depending on the type of redirection.

  • 302 – Temporary Redirect

3xx Temporary Redirect

This error code is returned when a request is temporarily redirected. This error code is returned, so you know that the real URL will become available later. This is the same as 307, and in fact, 307 is the standard practice.


  • 301 –Permanent Redirect

301 redirect

For this, the proxy returns the code telling you that the page you are requesting has been permanently moved to another location – and you should take note of that location. This is the same as 308, with slight variations.

Again, redirection is not really a problem since most automation bots and browsers will go to the new URL. They are returned, so you know that the URL has changed.


4xx – Client Error

The main types of HTTP Proxy Errors are the 4xx and 5xx classes, and they are the most occurring.

When you get a status code within the 4xx class, just know that the error is your client and likely from your request or browser/automation bot.  many error codes can be returned from this class. Because the error is from either your request or automation script, it is very easy to detect the problem and get it fixed, especially if you were the one that designed the automation script.

  • 400 – Bad Request

400 Bad Request

A 400 Status Code means there is a problem with the request you sent. This could be that the proxy server or the website you are trying to access resources from is unable to parse your request.

Aside from a malformed request, you will also get this code when a deceptive request routing is detected. When you get this type of request, the best way to solve it is to look at the request well and make sure you are sending it in the right way, together with all the required information.


401 Unauthorized

This error message is returned when you try to access a resource that requires you to provide authentication, and you have not. When a proxy server sends your request to a web server, and the web server requires authentication and authorization, the proxy server returns a 401-error code. Providing authentication details solves this problem.


  • 402 –Forbidden

402 Forbidden

when your request is understood by a web server or a proxy server, but you are not allowed to access such resource or carryout such action meant for the request you sent, a 402 Forbidden error code is returned. For example, if you try to carry out an action meant for admins of a site, a 403 code is returned.


  • 404 –Not Found

404 –Not Found

This type of error code returned by proxy servers is just the response they get when they try to access a resource online, and such resources cannot be found. This could have meant that the URL is not correct, or it has been taken down, or URL changed without redirection. Whatever the case is, confirm the URL and try again.


  • 405 –Forbidden Method

405 –Forbidden Method

When a particular function on a server requires a specific request method, and you send your request in a different method, this status code is returned. For example, trying to send a POST request using the GET method would return this status code ideally.


  • 407 –Proxy Authentication Required

407 Proxy Authentication code

How to fix Proxy 407 error?

A proxy server returns a 407-status code when it requires authentication. Solving this problem is simple. Cross-check the username and password you entered and make sure they are correct. For IP Authentication, it means that you have not whitelisted your device IP Address to access the proxy. If you are still unable to fix this, I will advise you to contact your proxy provider.


  • 429 –Too Many Requests

429 –Too Many Requests

This status code is returned by websites when you have sent too many requests in a given timeframe. With this, the resource you are requesting won’t be provided as you are seen as a bot.

How to fix Proxy 429 error?

Usually, if you are using proxies that rotate IP per request, you won’t get this error. It is more common when using dedicated proxies that do not rotate IP.

  • Using Rotating Proxies to avoid IP ban when web scraping & crawling

Using shared proxies also brings about this problem. To fix this particular problem, you just have to switch to a different proxy.

  • Switch Proxy Extension for proxy lists

5xx – Server Error

Any error code that starts with “5” indicates that the request was received successfully by the server, but it is unable to process it or encountered an error in the process of processing it. While your request might cause this, the bulk of the problem is from the web server you intend to access. Let take a look at the common server error status code.

  • 500 – Internal Server Error

500 – Internal Server Error

This signifies a problem with the server and does not have anything to do with you. This could be that the server is offline or the server crashed. It could also be that the database crashed. You do not have any power in this.

How to fix 500 proxy error?

You have to contact the server owner and notify him of the problem at hand. Sometimes, a simple reboot will fix this – other times, some other things need to be done.


  • 502 –Bad Gateway

502 Bad Gateway

Usually, your proxy server will return this error when it receives an invalid response from the website you are trying to interact with.

How to fix 502 Proxy error?

First, clear cookie and cache, If still not working, change your DNS, and use your browser without using a proxy and see. If the problem persists, contact the website owner.


  • 503 –Service Unavailable

503 –Service Unavailable

From the name, it shows that the service you are trying to access is unavailable. However, this could also be that your proxy IP has been identified, and you are unable to solve the captcha, when a web scraper or crawler blocked by Recaptcha, The Proxy server will usually return 503 error.

How to fix 503 proxy error?

If it is the case of marked IP, using a different proxy will fix this. With rotating proxies, this can be avoided.

  • Proxies for Preventing Bans and Captchas When Scraping Google
  • How to Avoid Proxies Get banned or blocked

  • 504 –Gateway Timeout

504 –Gateway Timeout

This status code is returned when your proxy server did not get a timely response from the website you intend to access. This could be that the web server is still processing the request, but your proxy server is unable to wait. If this persists, you have to tweak your timeout header setting or contact your proxy seller.


Conclusion

HTTP Proxy Errors are nothing to worry about if you understand what the status codes mean. As you can see from the above, just looking at the code can tell you if the problem is from your end or from the server.

If you have a grasp of the ones above, you won’t find it difficult to troubleshoot the proxy errors. While above are not all the proxy error codes that can be returned, there are the most common you will come across while making use of proxies and even doing HTTP programming in general.


  • What is an HTTP Proxy? Types of HTTP Proxies Explained!
  • What is an SSL Proxy? Where to find the HTTPS Proxies!
  • What is a Socks Proxy? Paid & Free Socks proxies List Added!

Have you ever been frustrated by proxy error codes that you have received while using proxies, but you have no idea why? Proxy error codes are similar to HTTP status codes. By learning what these errors mean, you can smoothly perform your scraping activities and automate your IP settings as well. 

It is very likely to receive such errors if you do not adequately manage your proxies during crawling or scraping activities. Problems can occur either from your end (client-side) or from the server-side. You will learn the most common types of proxy errors, why you receive them, and how to solve them by further reading this article.

What is a Proxy Error?

A proxy error is an HTTP error status that you will receive as a response when a request sent to the web server via a proxy fails. To keep using the proxy, you have to find a solution no matter what the case is. The returned response during a request failure may seem a bit confusing. If you are conversant about HTTP status codes, understanding proxy errors is not an issue.
 

Status Code Classes

HTTP Status codes are displayed in three digits. They are grouped into five classes, such that the first digit of each error code depicts the class.

They are;

1. 1xxInformational

2. 2xxSuccess

3. 3xxRedirection

4. 4xxClient Error

5. 5xxServer Error
 

Common Proxy Error Codes and Their
Solutions

1xx Informational Error Code

These are provisional responses that are rarely used. These requests are considered to be used when the server is processing the requests;

100 – Continue

The code indicates that a part of the request is received, and the client can continue sending the remaining request. Typically, the client first sends a request header with a statement “Expect: 100-continue” and receives the 100 status code from the server to send the request’s body. The “expect” in the initial request is to avoid sending further requests if the server rejects the initial request header.

101 – Switching Protocols

A web server sends a 101 status code when the browser requests to change the communication protocol during a transaction. When the client browser’s request asks the server to switch communication protocol and accepts it, it sends the HTTP status code “100 – Switching Protocols” as an acknowledgment.

102 – Processing (WebDAV)

The web server might need some considerable time to process complex requests. When a client’s browser sends a WebDAV request with multiple sub-requests involving complex requirements, the server takes some time to process and eventually sends this code “102 – Processing”. This code aims to avoid timeout errors on the client-side by informing the client that the server received the request and processing it.

103 – Early Hints

The code “103 – Early Hints” is received by the webserver when sending the HTTP status to the browser before processing the HTTP requests. The name indicates this is an early hint to the client’s browser that the server has not started processing the requests.
 

2xx Successful Status Code

Receiving codes between 200 and 299 means that your proxy received your HTTP request, sent it to your intended website, and got a response. 200 is the most received code, informing that the server has fulfilled the request successfully. Pay attention to any other 2xx code other than 200 OK as it may show an error.
 

Here are the most common 2xx status codes;

201 – Created

This status code indicates the server has completed the client’s received request and has created a new resource based on the received request. The initial request is acting as a trigger to generate a new response in the server. For example, when a server is generating a new response based on a user’s login details.

202 – Accepted

“202 – Accepted” is returned when the server receives the request from the client, but it has yet to process. That’s the only indication for accepting the request, but the result for processing the request will be known later on when the “actual processing” takes place.
 

203 – Non-Authoritative Information

The code “203 – Non-Authoritative Information” was received when the server successfully processed the request but returned the information from another resource to the requested client.
 

204 – No Content

The server cannot find any content for the received request; it sends a “204 – No Content” response code, indicating to the client that no content is returned.
 

205 – Reset Content

Similar to the 204 code above. A request was processed successfully by the server, but no content is returned. The only difference here is that the 205 code informs the client to reset the document view.
 

206 – Partial Content

A server will return this error code when it sends a part of the requested resource affected by the range mentioned in the request header. 

E.g., the client requests a range of files to download and uses multiple streams to download the complete content.
 

3xx – Redirection Error

3xx codes indicate that additional action is needed from the client-side to fulfill the request.

These status codes won’t be an issue when using a browser (for example, Google Chrome or Safari), but when using your own script. Scripts that you write, and when there’s no need to redirect the requests to other URLs, will come in handy.

As these actions can create infinite loops, web browsers usually don’t follow more than five consecutive redirections of the same request.
 

Some of the most common 3xx error codes are as follows;

300 – Multiple Choices

It occurs when a requested URL is pointing towards more than one resource. 

The user agent (crawler or web browser) cannot decide which page to fetch, and an HTTP code “300 – Multiple Choices “is received. 

Fix 300 error code by checking the HTTP headers and make sure the URL is pointing to a single resource – so that the user agent can access the page successfully.
 

301 – Resource Moved Permanently

This error is received when there’s a permanent redirection set to an original URL to forward the user agent to a different URL.

When a web server sends a “301 – Moved Permanently” status code as a user can’t see the original URL, search engines would only index the redirected URL. Most search engine crawlers and user agents can follow up to 5 redirects for a single URL. More than five redirects could result in an infinite loop, and browsers like Chrome will show a message like “Too Many Redirects”.

A 301 code is the most popular out of all 3xx server response codes.
 

302 – Resource Moved Temporarily

A code “302 – Moved Temporarily” is received when a temporary redirect is set to the original URL. It means the user agent is redirected to another URL once making the request.

303 – See Another Resource

A “303 – See Another Resource” is received when the requested resource is located in another URL address, and it should be requested by using a “GET” method rather than code. Note that the initially requested page will be indexed by the search engines only when the “200 – Success” code is received.

304 – Resource Not Modified

A server would respond with the “304 – Resource Not Modified” code if the requested resource hasn’t been modified since the request’s last time. 

In this case, the server would assume that there’s no need for sending the data again, since the client already has a copy of the requested resource, which was not modified.

Note that the “last time of modification” is mentioned in the request header line “If-Modified-Since” or “If-Match”.

Plus, if your web page has not changed since the last time the search engine(s) crawler has accessed your site, then returning the 304 code is recommended to speed up indexing and reduce the crawler load.

305 – Use proxy

The code “305 – Use Proxy” will appear if the requested resource can only be accessed through a proxy server. The proxy server’s address is also received in the response and displayed in the browser’s window. 

Some browsers like Internet Explorer will not display this response properly due to the security concern of displaying the proxy server.

306 – Switch Proxy

“306 – Switch proxy” code indicates the server should use the specified proxy for the following request(s).

307 – Temporary Redirection

Code “307 – Temporary Redirect” is received when a requested resource is moved temporarily to a different address, mentioned in the Location header of the request. This is just a temporary redirect, but the next request should access the original URL. BTW, only HTTP/1.1 protocol uses this status code.

308 – Permanent Redirect

A308 – Permanent Redirection” code is an experimental code to indicate a permanent redirection (similar to 307, which is set as a temporary redirection). 307 and 308 codes are similar to the 302 and 301 codes, with the slight difference in not changing the HTTP method.

4xx Client Error Codes

The main types of HTTP proxy errors are 4xx and 5xx error codes. Receiving an error from the 4xx series indicates that the problem is from the client-side. It can be your request, browser, or the automation bot.

400 – Bad Request

It is a generic response indicating that there’s a problem with your sent request. Sometimes it can be that your proxy server or the target website is unable to parse your request. Problems can be malformed syntax, invalid formatting, or deceptive request routing.

401 – Unauthorized

“401 – Unauthorized” error code indicates that you are trying to access an unauthorized website where you have to authenticate yourself. 

The error is returned by the proxy server when the webserver requires authentication and authorization. Providing credentials will allow you to access the resource.

402 – Payment Required 

This response code is mostly set for future usage. Even though this status code is relatively rare and no standard convention exists, the aim for creating this code was for digital payment systems.

403 – Forbidden

403 indicates that your request is valid and understood by the proxy or the webserver but refuses to respond. It happens when you have no permission to view the resource.

404 – Not Found

This code is returned by the proxy server when the requested online resource is not available, even when the request is valid. Although 404 is primarily known as a “client error,” it results from dead links. It could mean that the URL has been taken down, incorrect, or changed without redirection.

405 – Method Not Allowed

405 is received when a request method is known by the server but has been disabled and can’t be used. For example, an API request may forbid 

“DELETE-ing” a resource. Both mandatory methods, GET and HEAD, must never be disabled and should not return this error code.

406 – Not Acceptable

A response is sent when the web server doesn’t find any content that conforms to the criteria given by the user agent after performing server-driven content negotiation.

407 – Proxy Authentication Required

A proxy indicates a 407 code when it requires authentication or when a tunnel fails to connect. It can happen when your scraper is not authenticated correctly with the proxy provider or when credentials are inaccurate. Another reason can be not whitelisting your IPs within the proxy settings.

Solving this error requires you to update your proxy settings by including whitelisted IPs and enter proper credentials. Plus, make sure that all the required information is included in the request as well.

408 – Request Timeout

This error code is received when a client hasn’t produced a request while the server is configured to wait or hold. The client may repeat the request without making modifications later at any time. 

If the 408 error is persistent, check the load created on your web server when detecting the errors. One more possibility might be connectivity problems.

409 – Conflict

The 409 – Conflict is usually unrelated to standard web server authority or security but to a specific application, conflicts not defined in the HTTP protocol itself.

The web server is responding with this error when considering the client’s requests as legitimate ones, but a request could not be completed due to a conflict with the current state of the resources. The response body usually includes sufficient information for users to recognize the conflict’s source and fix the error.

410 – Gone

The web server responds with this error code when the requested resource is no longer available via the server, will not be available again, and has no know forwarding address. This error is similar to the 404 error, but 410 is a permanent one.

411 – Length Required

This error code means that the server is refusing to accept the request without a defined content length. The client should repeat the request by adding a valid content-length header field, which contains the length of the message-body in the request’s message.

412 – Precondition Failed

The webserver responded with this error code when preconditions are given in one or more of the request-header fields that have been evaluated as false when tested on the server. 

This status code allows the client to place preconditions on current resources meta-information (header field data) and prevents the requested method from applying to a resource other than the initially intended one.

413 – Request Entity Too Large

The server’s refusing to process a request since the request entity is larger than what the server can process. The server could close the connection to prevent the client from sending more of the same request. 

“What constitutes ‘too large’ depends in part on the operation being attempted. For example, a request to upload large files (via the HTTP PUT method) may encounter limitations on upload file size set by the webserver.”

414 – Request-URL Too Long

The web server is responding with this error when refusing to service the request since the Request-URL is longer than the server can process. This rare condition is more likely to occur when a client has improperly converted “POST” requests to “GET” requests, with long query information once the client has descended into a URL redirections “black hole” (meant that a redirected URL prefix which is pointing a suffix of its own), or 

This error code could also be received when the server is attacked by a client’s attempts to exploit any security holes that are present in some servers, also using fixed-length buffers for Request-URL reading and manipulating. Typically, webservers are setting fairly generous genuine URLs limits on length. In case that a long URL is valid and you are still receiving a 414 error code, it means that the web server may need to be reconfigured to allow such URLs through.

415 – Unsupported Media Type

The webserver is refusing to complete the request since the entity of the request is in formats that are not supported by the requested resource for the requested method.

416 – Requested Range Not Satisfiable

416 status code is received when a server’s response usually returns with 416 if a request includes a “Range” request-header field. No range-specific values in this field overlap the current extents of selected resources, and the request didn’t have the If-Range request-header field. 

For example, if the resource is a file with 1000 bytes, and the Range requested is 500-1500, it cannot be sufficed as an acceptable range.

417 – Expectation Failed

The web server usually responds with this status code when the expectation received in an “Expect” request-header field cannot be fulfilled by the server or if the server is a proxy and has clear evidence showing that the next-hop server could not fulfill the request.

429 – Too Many Requests

This error is likely to be received when sending too many requests within a limited time frame while using the same IP address. Websites usually implement such restrictions to protect from attackers and to avoid overloading.

Using rotating proxies, setting delays between requests per IP and per a particular time frame can solve this error code.
 

5xx – Server Error

Series of 5xx is returned when the server receives the request successfully but cannot process the request or encounters a problem while processing it.

To solve all these 5xx errors, rotate the IPs, and change the proxy network and IP type. Using a residential proxy network is better in such cases to rotate IPs and ensure reliability.

You may receive error codes such as – 

500 – Internal Server 

Error code “500 – Internal Server “is received when the server encounters an unexpected condition, stopping it from responding to the request.

501 – Not Implemented

The “501 – Not Implemented” error is received when the server can’t provide the requested resource because of an unsupported or unrecognized method(s) used in the request.

502 – Bad Gateway

This error will frequently occur during data gathering when the server acts as a gateway or a proxy and receives an invalid response from another server. 

When super proxies refuse the internet connection or requests sent, IPs’ unavailability for chosen settings is detected as bots indicate 502 code.

503 – Services Unavailable

The “503 – Service Unavailable” code is received when a server receives the request at the same time other requests overload it, or it’s under planned downtime/maintenance. In this case, and if possible, check the status of the requested server.

504 – Gateway Timeout

“504 – Gateway Timeout” is received when a server (a) acts as an external gateway or a proxy and does not receive the response on time from the next server (b), further up in the request chain which tries to access to fulfill the request.

505 – HTTP Version Not Supported

A “505 – HTTP Version Not Supported” code is received when a server isn’t supporting the HTTP protocol version and used in the request message.

507 – Insufficient Space

“507 – Insufficient Storage” means that the server runs out of disk space and no more accommodates the request.

510 – Extensions are Missing

The server can’t process the request because an unsupported extension is requested, then the code “510 – Not Extended” is received.
 

Solving Common Proxy Error Codes

The easiest way to solve these proxy error codes is by using a proxy manager. A proxy manager is often a free and open-source software that automates proxy management to avoid such errors. To prevent the 407 error code, You have to choose a proxy port. Then, all the associated credentials and zone information are automatically updated. 

You can apply specific actions within your proxy manager when a rule you applied gets triggered. To avoid errors such as 403, rotating your IPs is essential; hence residential proxies are the best option. NetNut can play its part by integrating with your proxy tools to avoid these errors. Learn how to integrate NetNut to configure your proxy settings.

Check out our GitHub repositories as well for a better understanding of advanced usage with our proxies, code documentation, and walkthroughs.

To summarize, the basic steps that you can follow to solve these proxy errors are;

1. Switching to Residential Proxies

Although residential proxies are a bit more expensive, they provide a large pool of proxies, unlike data center proxies. Hence you can rotate your IPs and avoid getting blocked.

NetNut is a better example of a residential proxy service provider, using a dynamic P2P + ISP Proxy Network, offering both Rotating & Static Residential IPs.

2. Decrease the number of requests

Sending too many requests at the same time seems suspicious by any website. Set a slight delay between requests to avoid any errors.

3. Improve IP Rotation

As explained above, using a proxy management tool helps to achieve this task. Control your IP sessions to minimize requests made with the same IP address.

4. Have a Well-Performing Scraper

Following the above factors but using a poor-performing scraper can still give you errors. Hence, make sure that you have an advanced scraper to bypass obstacles implemented by websites.
 

Remember!

The first steps in overcoming these proxy errors are understanding the error code and why you get such code. Understanding such causes while implementing these techniques can let you perform your data gathering smoothly, minimizing errors.

Can’t figure out a solution to your error code? Ping us via email and our support experts can help you out!

Have you encountered an issue that isn’t listed here? Let us know!

This article is designed to help you identify and resolve errors coming from a ProxyMesh proxy server. Some errors come from the proxy server, and other errors come from the remote site. You can determine the source by inspecting the response body, which appears after the numeric error code in a response. ProxyMesh error messages bodies are listed in this article, to help you distinguish and understand proxy server errors.

Error response bodies generally include both the three-digit code and any one of several reasons, or message bodies, which further define the nature of the error. This helps you find the solution in individual cases. For example, note the different solutions suggested in this article for a 402 error, depending on the accompanying message bodies:

  • 402, account is inactive
  • 402, access to PROXY-NAME proxy not authorized
Code Message Comments and Resolution
400 malformed syntax This happens if the HTTP request from the client code/library is malformed, e.g., by a syntax error or inclusion of characters that the server would not understand.
Host header missing Valid HTTP request should have a Host header.
invalid http request The server could not understand the request, usually because of invalid request message framing.
402 HTTP 402 messages mean payment required. Below, several scenarios for ProxyMesh users are described. Note: If you get too many 402 response codes from a proxy, your IP will be temporarily blocked for up to 4 hours, during which time you will get Connection Refused errors.
account is inactive Contact Support if you need access to reactivate your account or resolve payment issues.
parent account is inactive Contact Support if you need access to reactivate your account or resolve payment issues.
access to PROXY-NAME proxy not authorized Go to Edit Proxies in your account dashboard to authorize that proxy, or use a different proxy that has not sent the errors, and try again immediately.

If you receive a 402 error when you are trying to connect to a specific proxy, but are sent to a different proxy, this can mean that something is not configured correctly at your end. Please check your configurations. If you are using middleware, consider using the Scrapy default proxy configuration.

403 this host is forbidden The remote site has been blocked and can only be accessed through the Open Proxy server or the World Proxy server. As appropriate, use one of those servers.
This can happen with a request via ProxyMesh for access to a Google site or a search engine. ProxyMesh doesn’t work well for that type of request, and we recommend Trusted Proxies or Luminati instead.
407 bad password This indicates a failure of your username information or password information. You can update your password as needed on the Change your Password page of your dashboard.  The Proxy Authentication article provides details.

You might consider using IP authentication and removing the username:password authentication to prevent bad password failure due, for example, to an old password.

Basic authorization required Follow the steps in Basic access authentication to provide a user name and password when making a request.
Proxy authorization required

No IP or valid Basic Authentication header was given in the request to the proxy.

A large number of 407 request errors from one particular proxy server, while requests through other proxy servers are working correctly, may indicate a configuration issue.

  • Do you have 2 or more different scripts, and could one of them be misconfigured?
  • Has your IP changed, and have you added your IP address for authentication? If so, please make sure you are not passing in any username:password authentication headers, which are the most likely cause of the 407 responses. Use only IP authentication.
  • Please note that after you add an IP to your account, it should be authorized at the servers within a few minutes. Please be sure you do this first before you make requests from that IP to avoid a temporary block.

If your IP has changed, you can update your IPs from your account dashboard. Then our proxy server forwards your requests after removing any request headers that might compromise your privacy and anonymity.

See Proxy Authentication and Proxy Connection Problems for details.

too many failures If you get too many 407 response codes from a proxy, your IP will be temporarily blocked for up to 4 hours, during which time you will get Connection Refused errors. A 407 error indicates an authentication problem. The easiest way to fix this is to Add your IP to ProxyMesh.  
Be aware that authorizing an IP’s access to the proxy during a 4-hour ban does not immediately lift the ban. You still need to wait until the 4 hours are up.
408 request timeout You will get a 408 response code if the remote server does not respond within the proxy server’s default response timeout of 20 seconds and the target server will close down the request. If you need to wait longer for a complete response, use the X-ProxyMesh-Timeout header to specify the number of seconds you want to wait. If a significant portion of your requests are timing out ( 408 response code), it may be because the network connections between you and the proxy and/or between the proxy and the remote site are unreliable. Try some different proxies and see if that fixes the problem.
The proxy IPs may have been blocked by the remote site. If you think this is the case, then you’ll want to switch proxies, and ideally use multiple proxies to distribute your requests.
If you suspect that specific IPs are triggering the 408 error response, you can review the X-ProxyMesh-IP response header to see which IPs are being used for a request, and perhaps filter them out.
If only a small percentage of your requests are getting a 408 response code, it’s best to retry your requests up to 3 times, ideally with a short delay of at least 1 second between each retry and the next one.
Please see Proxy Server Request & Response Headers and Request Retry Strategies for detail.
500 This error can occur for a number of different reasons, with various message bodies. Retries can often resolve the problem.

Specific IPs can get blocked, especially when crawling at high volumes. One mitigation is to combine a retry strategy with custom headers, in order to control which IP addresses are not used. The way this could work is:

  • Make first request
  • Receive 500 error response code
  • Get the IP from the X-ProxyMesh-IP response header
  • Add this IP to a «not IP» list
  • Retry the request with a X-ProxyMesh-Not-IP header containing the IP
  • Receive 200 success response code

The X-ProxyMesh-Not-IP header can take a comma-separated list of IP addresses, assembling bad IPs to skip for future requests. If you use it:

  • Make sure the list is specific to the target domain.
  • Do not cache the IPs for more than 1 day, as they will be out-of-date or offline after 12 hours.
  • Remember to check the user agent in a custom header string so that it is associated with the appropriate web browser.
error connecting to proxy These errors tend to be more common for the open proxy. If you use the open proxy, we recommend implementing a good retry strategy. Please see the Open Proxy article for additional details.
error proxying data These errors tend to be more common for the open proxy. If you use the open proxy, we recommend implementing a good retry strategy. Please see the Open Proxy article for additional details.
error receiving data These errors tend to be more common for the open proxy. If you use the open proxy, we recommend implementing a good retry strategy. Please see the Open Proxy article for additional details.
error sending data These errors tend to be more common for the open proxy. If you use the open proxy, we recommend implementing a good retry strategy. Please see the Open Proxy article for additional details.
Please see Proxy Server Request & Response Headers and Request Retry Strategies for detail.
502 unknown ip address The IP requested in the X-ProxyMesh-IP request header cannot be found. This response will include X-ProxyMesh-IP as well as X-ProxyMesh-IP-Not-Found both containing the same IP as the X-ProxyMesh-IP request header. You will need to choose a different IP address for your request.

  If these headers are not present in the response, then this response came from the remote site, not the proxy server.

503 Several different situations can generate a 503 error, and each situation produces a different response message body. All of these situations are temporary, generally lasting a few minutes at most. Retry after a pause.

Any response body for 503 other than the ones below likely indicates a rate limit response from the remote site. If this happens regularly, try using a different proxy server, or slowing down your crawl. Please see Non-Standard Error Messages for more details.

error connecting to proxy These errors tend to be more common for the open proxy. If you use the open proxy, we recommend implementing a good retry strategy. Please see the Open Proxy article for additional details.
service unavailable The proxy server cannot handle requests right now. This is rare, but can happen under high load situations. See High-Traffic Proxy Connections.
no available IP addresses You have excluded all available IPs in the X-ProxyMesh-Not-IP request header. Wait until the IPs rotate, or reduce the number of excluded IPs.
no proxies available There are no outgoing IPs available. If you get the 503 response when using the X-ProxyMesh-Country header, then you have chosen a country value with no IPs. The open and world proxies have IPs in multiple countries. Use the X-ProxyMesh-Country header to restrict the IP choices to a specific country. The value of the header should be a 2 character ISO country code, such as US or RU. Check the status page for each proxy to see what country codes and how many IPs are currently available. Otherwise, this response is due to an error in the IP rotation. This is rare, likely due to an issue with the hosting provider, and will generally be fixed within 1 hour. Try again in a few minutes.
proxy error The proxy server cannot connect to an outgoing IP. This happens more often with the open proxy server, due to the unreliability of the open proxies. Retry after a short delay.
server error Something went wrong in the proxy server while trying to authenticate. This is very rare. Retry after a short delay.
too many errors Your requests have generated more than 60 response errors (with a status code of 400 or greater) over the past 30 seconds. You need to fix what you’re doing to stop producing so many errors. For example, if you are submitting request to Google and they bring repeated error responses, be aware that ProxyMesh doesn’t work well for requests to Google. We recommend trustedproxies.com or Luminati instead. A remote site may regularly send a 503 response indicating rate limits. Try using a different proxy server or slowing down your crawl.
too many connections

On the proxy server, having more than 100 connections from a single IP address would constitute an undue load. You will then receive this error. It is much better and more efficient to use a shared connection or connection pool for proxy connections. You can also access the proxy server from multiple IP addresses.

Any response body for 503, other than those above, likely comes from the remote site. For those cases, please see Request Retry Strategy and Non-Standard Error Messages.

504 gateway timeout Timeout connecting to proxy. This usually means that the outgoing proxy server is down. This error tends to be more common for the open proxy. If you use the open proxy, we recommend implementing a good retry strategy. Please see the Open Proxy article for additional details.
509 bandwidth limit exceeded You have exceeded your bandwidth limit. This response will continue until your next bill has been processed, or you raise the limit. Please see Bandwidth Limits for full details.

Client-Side Message: cURL Error 56

On occasion, especially while running a high-traffic proxy connection, you may see a response message from an additional source, namely the cURL command-line tool for data transfer using various protocols. A message example is described below.

Code Message Comments and Resolution
56 Proxy CONNECT aborted due to timeout This does not necessarily indicate a true outage on the proxy. There could have been network issues in between, or perhaps some of the outgoing IPs were temporarily blocked by the remote site. To reduce the impact of timeout errors, try these steps:

  1. Upgrade your plan and distribute your requests across multiple proxies.
  2. Implement a retry strategy in your app, so that when a timeout occurs, you try a different proxy, and/or wait 1 second before retrying.

Понравилась статья? Поделить с друзьями:
  • Get known folder path error
  • Get key error hikvision
  • Get kernel port maui meta ошибка
  • Get fields error
  • Get error text python