Docs menu
Docs · Error guide

Why Is My Proxy Not Working?

A proxy "not working" fails in one of three places: your device can't reach the proxy (wrong host, port, protocol, DNS or a firewall), the proxy rejects your request (login or allowlist), or the proxy works and the website refuses what comes through it (403, 429, CAPTCHAs, Cloudflare pages). Two cURL requests tell you which: fetch the same URL once directly (curl -v --noproxy '*' <url>) and once through the proxy (curl -v -x <proxy> <url>). If direct works and the proxy fails, the problem is the proxy side; if the proxy fetches other sites but not this one, the site is blocking it; if both fail, it is your network, DNS or the URL. On ProxyField, HTTP, HTTPS and SOCKS5 all run on gate.proxyfield.io:7000 with the same username and password, and you can test it on your own targets with the Easy Trial: 1 GB for $2.95.

residential IPs
412M+
from, traffic never expires
$1.95/GB
Easy Trial
1 GB for $2.95
gate.proxyfield.io:7000
407, 402 and 502 on ProxyField
407, 402 and 502 on ProxyFieldProxyField value
407 Proxy Authentication Requireda wrong login or password, an IP not on the allowlist, or a malformed location in the username; text: "ProxyField: wrong login or password, or this IP is not in the whitelist."; it carries Proxy-Authenticate: Basic, on CONNECT too
402 Payment Requiredno traffic left; text: "ProxyField: no traffic left. Top up at https://proxyfield.io"
502 Bad Gatewaythe location is well formed, but no exit could be connected; text: "ProxyField: temporary error. Try again in a few seconds."
SOCKS5a failed login or no traffic left is an authentication failure; a failed exit is reply 0x04
A 403from the site itself, passed through
Costa connection the gateway refuses (407, 402, 502) costs nothing
Gatewaygate.proxyfield.io:7000 with your username and password; HTTP, HTTPS and SOCKS5 on the same host and port
Username<login>-country-us-city-new_york: names in lowercase with underscores for spaces, the country as its two-letter code
Allowlistup to 100 IPv4 addresses; with the allowlist, use the port you set up in the dashboard
Headersthe gateway adds no Via, X-Forwarded-For or Forwarded header; the headers your client sends pass through; your Proxy-Authorization is removed before the request goes to the site

What to change

  1. 407: copy the login and password again from your account, check the location part of the username, or add your current IP to the allowlist.
  2. 402: top up in your account; your traffic never expires.
  3. 502: try again in a few seconds; check the city name against your dashboard list, or widen it to the region or country.
  4. A 403 or another site page: the proxy worked and the site refused the request (Step 3 below).
  5. No status line at all: the connection failed before the gateway answered; check the host, port, protocol and firewall (Step 2 below).

To see which response you get and who sent it, run one request with -v:

Shell
curl -v -x gate.proxyfield.io:7000 -U "<login>-country-us-city-new_york:<password>" https://api.ipify.org

What each status code means in general: HTTP response status codes (MDN).

On this page 7 sections

Step 1: the proxy-or-site test

Run the same request three ways. Use -v so cURL prints where it stops; --noproxy '*' makes cURL ignore any proxy set in environment variables (curl manual).

Shell
# A. Direct, no proxy at all
curl -v --noproxy '*' https://www.example.com/

# B. Through the proxy, to an IP-check page
curl -v -x gate.proxyfield.io:7000 -U "<login>-country-us-city-new_york:<password>" https://api.ipify.org

# C. Through the proxy, to your target
curl -v -x gate.proxyfield.io:7000 -U "<login>-country-us-city-new_york:<password>" https://www.example.com/
A: directB: IP check via proxyC: target via proxyWhere the problem isGo to
WorksFailsFailsThe proxy side: host, port, protocol, login, allowlist, or a network that blocks the portStep 2
WorksWorks (an IP that isn't yours)Fails or a block pageThe target refuses the proxy's requestsStep 3
FailsFailsFailsYour network, DNS or the URL, not the proxyCheck your connection and the URL first
WorksWorksWorks, but your browser or app failsSettings in that browser or app"Proxy works in cURL but not in my browser or script" below

Test 1 proxy line or up to 100 at once in the proxy checker; your list and results are not stored.

What cURL's error tells you

cURL prints an exit code and a message when a request fails before any HTTP response. These are cURL's own codes, the same for any proxy (curl manual, "Exit codes"):

cURL outputExit codeWhat failedGo to
curl: (5) Could not resolve proxy: gate.proxyfield.io5The proxy host name doesn't resolve (typo, DNS)Unknown proxy server and proxy DNS errors
curl: (6) Could not resolve host: www.example.com6The target name doesn't resolve (on test A: your DNS or the URL)Check the URL
curl: (7) Failed to connect to gate.proxyfield.io port 70007Your device can't open a connection to the proxy portCannot establish proxy connection
curl: (28) Connection timed out after 30001 milliseconds28Nothing answered in time: a firewall dropping the port, or a slow upstreamCannot establish proxy connection
curl: (56) CONNECT tunnel failed, response 40756The proxy refused to open the HTTPS tunnel; the number is the proxy's reply407 Proxy Authentication Required
curl: (97) ...97The SOCKS handshake failed: wrong protocol or a login the client didn't send"SOCKS5 proxy not working" below
curl: (35) ... or a certificate error35, 60The TLS handshake with the site failedCheck the URL, the system clock and the CA store

If you get an HTTP status instead, the request reached a server. In general HTTP terms (MDN: HTTP status codes), 407 Proxy Authentication Required comes from a proxy that wants credentials, while 502 Bad Gateway and 504 Gateway Timeout mean a gateway got a bad reply or no reply from upstream; the target site may sit behind its own CDN, so a 502 or 504 is not proof of where it failed (502 Bad Gateway and 504 Gateway Timeout). ProxyField's own gateway responses: 407 Proxy Authentication Required for a wrong login or password, an IP not on the allowlist or a malformed location, 402 Payment Required when no traffic is left and 502 Bad Gateway when no exit could be connected; a restricted site gets no separate response, and a 403 comes from the site itself.

See which layer answered

--write-out prints the proxy's reply and the site's reply separately:

Shell
curl -s -o /dev/null -x gate.proxyfield.io:7000 -U "<login>:<password>" \
  -w 'proxy CONNECT: %{http_connect}  site: %{http_code}  error: %{errormsg}\n' \
  https://www.example.com/

%{http_connect} is the proxy's answer to the HTTPS tunnel request (200 means the tunnel opened) and %{http_code} is the target's status. A 200 for the tunnel with a 403 from the site means the proxy worked and the site refused; a non-200 tunnel code means the proxy side. %{errormsg} needs cURL 7.75 or later; %{proxy_used} (cURL 8.7 or later) shows whether a proxy was used at all.

Step 2: if the proxy itself fails

Work through the connection in order; each item is the most common cause at that stage.

  1. Host and port. Copy them again from your account: for ProxyField, host gate.proxyfield.io, port 7000 (with the IP allowlist, the port you set up in the dashboard). No http:// in a host-only field, no spaces. Where each value goes: proxy server address.
  2. Protocol. Set the tool's proxy type to HTTP, HTTPS or SOCKS5. On ProxyField all three use the same host, port and login, so pick the one your tool supports; in a proxy URL the scheme must match (http:// for HTTP, socks5h:// for SOCKS5).
  3. Login. Username and password exactly as given; targeting options such as -country-us-city-new_york are part of the username, in lowercase with underscores. A full line: gate.proxyfield.io:7000:<login>-country-us-city-new_york:<password>. Or put your current public IP on the allowlist and connect to the port you set up in the dashboard; your IP changes when you switch networks.
  4. Stray proxy settings. cURL and many libraries read http_proxy, https_proxy, ALL_PROXY and NO_PROXY; an old value sends requests to a proxy you no longer use, or past the one you want. env | grep -i proxy lists them (everything curl: proxy environment variables). cURL reads http_proxy only in lowercase.
  5. Network. Office, school and public networks may block proxy ports. Test from a phone hotspot to rule it out, and allow your app in the firewall.
  6. Account. The dashboard shows real-time usage and remaining gigabytes; access opens once the payment is confirmed. Traffic never expires, so an old balance still works. With no traffic left, the gateway answers 402 Payment Required with the text ProxyField: no traffic left. Top up at https://proxyfield.io.
  7. Format in your tool. Tools disagree on host:port:user:pass versus URL form; proxy format shows both and how to convert. A password with @, : or # must be percent-encoded in URL form.

Step 3: if the proxy works but the site doesn't

The proxy delivered your request; the website answered with a refusal. Read the status code and the page:

What you getWhat the site is telling youFix
403 ForbiddenIt refuses the request (headers, client, IP reputation)403 Forbidden when scraping
429 Too Many RequestsYou're over its rate limit429 Too Many Requests
A Cloudflare page with 10xxA rule on its Cloudflare setup blocked youCloudflare error codes explained
"Proxy detected", "VPN detected"It labels your IP as a proxy or hosting addressAnonymous proxy detected
CAPTCHAs on every pageIt suspects automationSlow down, use a real browser, keep sticky sessions
503 or 451Temporarily unavailable, or blocked for legal reasons503 Service Unavailable, 451 Unavailable for Legal Reasons
Content for the wrong countryThe exit is in another locationSet country, region or city in the username

A proxy changes the IP the site sees; it doesn't change your headers, browser fingerprint, cookies or request rate. When a site blocks you on those, a different IP won't fix it. ProxyField's gateway adds no Via, X-Forwarded-For or Forwarded header, so the site sees only the headers your client sends.

Proxy works in cURL but not in my browser or script

The browser, the script and cURL don't share proxy settings. The usual differences:

  • The script doesn't use the proxy at all. Some HTTP libraries read HTTP_PROXY / HTTPS_PROXY environment variables and some don't; pass the proxy explicitly in code. See command-line proxy settings.
  • Only one scheme is set. In Python requests, set the proxy for both http and https keys, or HTTPS requests go direct.
  • The login isn't sent on HTTPS tunnels, giving 407 on HTTPS only.
  • Special characters in the password break the proxy URL; percent-encode them.
  • The browser has its own layer: an extension, a VPN, DNS-over-HTTPS or a saved old login can override the system proxy. Test in a clean profile.
  • The site treats the script differently: it accepts your browser and refuses your client's headers, cookies or TLS fingerprint. That is a site block, not a proxy fault.

Python examples: proxies in Python; Node.js: Node.js.

SOCKS5 proxy not working

  • SOCKS5 uses the same gateway and port as HTTP on ProxyField: gate.proxyfield.io:7000, with the same username and password. Test it: curl -v -x socks5h://gate.proxyfield.io:7000 -U "<login>:<password>" https://api.ipify.org.
  • In code, install SOCKS support (for Python requests, pip install "requests[socks]") and use socks5h:// to let the proxy resolve host names; socks5:// resolves them on your machine, which fails where your DNS can't see the name.
  • Check that the tool supports SOCKS5 with a username and password; some only support SOCKS5 without a login. If yours doesn't, allowlist your IP instead and use SOCKS5 on the port you set up in the dashboard.
  • UDP: ProxyField residential proxies carry UDP over SOCKS5 (HTTP/3, QUIC), but many tools and apps send only TCP through SOCKS5.

Still not working?

Collect the time and time zone, the exact error, the target URL, the exit location you requested and the output of the three cURL tests, then contact our 24/7 live chat, which helps with setup and integration.

Why Is My Proxy Not Working? FAQ

Why is my proxy not working?

ProxyField runs HTTP, HTTPS and SOCKS5 on 1 port, gate.proxyfield.io:7000; when a proxy is not working, send 1 request through it to an IP-check URL such as https://api.ipify.org. If an IP comes back, the proxy works and the website is blocking or rejecting the request; if you get an error, the host, port, protocol, login, firewall or DNS is wrong.

How do I figure out whether the problem is the proxy or the target site?

Fetch the same URL directly with curl -v --noproxy '*' and through the proxy with curl -v -x. Direct works and the proxy fails: the proxy side. The proxy fetches an IP-check page but not your target: the site is blocking it. Both fail: your network, DNS or the URL.

How do I fix a proxy server problem?

Re-enter host, port and protocol from your provider, check the username and password or your allowlisted IP, and test from another network. If you didn't mean to use a proxy, turn it off in your system settings and clear http_proxy, https_proxy and ALL_PROXY.

Why is my proxy server not responding?

Your device can't reach the proxy port: the host or port is wrong, a firewall or network blocks it, or the proxy is down. cURL shows which: exit code 5 means the proxy name doesn't resolve, 7 means the connection was refused, 28 means it timed out.

Why does my proxy work in the browser but not in my script?

The script often isn't using the proxy, sets it for HTTP only, or breaks the URL with unencoded special characters in the password. Pass the proxy explicitly for both http and https, and test it with one request.

Why do I get network errors through a proxy even when the IP works?

An IP check proves the connection works, so the errors come from the target or your client: blocks, rate limits, timeouts on slow pages or TLS problems. Read the status code; each has its own fix.

What should I do if proxies don't work right after purchase?

Check that the payment is confirmed, since access opens then, and copy the gateway, port and credentials from your account. If a single cURL test still fails, send its output to our 24/7 live chat.

How do I debug proxy connection errors?

Run the request with verbose output (curl -v) and read where it stops: name resolution, the TCP connection, the proxy's reply (such as a CONNECT refused with 407) or the target's reply. -w '%{http_connect} %{http_code}' prints the proxy's and the site's status side by side; change one setting at a time and re-test.

Why is my SOCKS5 proxy not working?

Usually the client sends HTTP to a SOCKS endpoint, lacks SOCKS support, or doesn't support SOCKS5 with a username and password (cURL exit code 97 is a failed SOCKS handshake). Set the proxy type to SOCKS5, install SOCKS support in code, and use socks5h:// for remote DNS.

Why is my proxy blocked on iPhone?

On an iPhone the proxy is set per Wi-Fi network, so check Settings → Wi-Fi → your network → Configure Proxy: server, port and the Authentication login. If the proxy connects but apps or sites refuse it, they are blocking the IP type, and only an IP type they accept, or no proxy, helps.

Show 4 more questionsShow fewer questions

Why is my proxy blocked on my Android?

Android's Wi-Fi proxy settings have no login fields, so a proxy that needs a username and password fails there unless your IP is on its allowlist or an app handles the login. If it connects and a site still refuses it, the site is blocking the IP, not the phone.

How do I troubleshoot common HTTP proxy issues?

Check the proxy URL scheme (http:// for an HTTP proxy), the credentials on both HTTP and HTTPS requests, and the port. Then read the status code: in general HTTP terms 407 is the proxy login, 502 and 504 are upstream failures, and 403 and 429 come from the site.

Will reducing the number of requests help decrease proxy errors?

It reduces the errors sites send on purpose: 429 rate limits, 403 blocks and some 503s. It doesn't fix connection errors such as a wrong port or a bad login.

How do residential and datacenter proxies differ in proxy errors?

Both fail the same way on connection problems. Websites refuse datacenter IPs more often, because their network ranges are easy to identify, so 403s and "proxy detected" pages are more common on datacenter IPs than on residential ones.

Easy Trial: 1 GB for $2.95.

Try for the price of 1 GB, no subscription, traffic never expires.