Documentation Python quickstart Blog Free tools hello@quanticdata.ioLog in

Proxy tester

Type a proxy and get the exact commands to test it from your own machine: curl with timings, Python requests, Node, PowerShell and a batch script. Everything is built in your browser; your credentials never leave this page.

The target should be a page that echoes your IP so the first test cannot be refused by an anti-bot layer. Test your real site second.

curl

        
The proxy tester form — pr.quanticdata.io:7777, user USER-country-us, target ipinfo.io/json — assembled into a curl command, then a timeline: connect 0.182s, tls 0.514s, ttfb 0.921s, total 0.958s.
The form becomes one curl command; the four -w timings say which layer the time went to, and the run ends either at a 200 carrying the exit IP or at the proxy's own 407.

How to read the result

The curl command prints one line: the HTTP code, the exit IP the target saw, and four timings. Each combination points at one layer of the proxy path.

What you seeLayerWhat it means
curl: (7) Failed to connect, (5) Could not resolve proxyReaching the proxyWrong host or port, HTTP client on a SOCKS port, or a firewall that only allows 80 and 443 outbound
curl: (28) timed out before any responseReaching the proxyPackets are dropped on the way: egress rules, or IPv6 preferred on a broken network (try curl -4)
curl: (56) CONNECT tunnel failed, response 407Proxy accepting youCredentials not accepted or source IP not on the allowlist; also what an exhausted plan looks like
502 or 503 from the proxyProxy accepting youNo exit matched your targeting flags at that moment; widen city to country or retry with a new session
code=200 with an exit IP that is not yoursWorkingThe proxy works end to end. Now run the same command against your real target
403, 429, or 200 with a challenge page on the real targetTarget refusing itNot a proxy fault. The site is deciding about the request: see the 403 and 429 guides
200 but ttfb above 3 sSpeedSlow exit or slow target. High connect is the gateway, high tls is the tunnel plus handshake, high ttfb alone is the target

Why the commands look the way they do

  • Credentials go through -U, not the URL. A password with @, : or % inside a proxy URL breaks parsing silently; the Python and Node variants percent-encode it for you.
  • SOCKS5 uses socks5h://. The trailing h makes the proxy resolve DNS, so the target sees a lookup from the exit rather than from your machine.
  • The timings are the diagnosis. time_connect is the TCP connect to the proxy, time_appconnect includes the CONNECT tunnel and TLS through the exit, time_starttransfer is when the target's first byte arrived.
  • The batch script counts, it does not judge. Run 100 requests and look at the distribution of codes and timings before deciding a proxy is slow or broken.

The full diagnostic path is in proxy not working: a 10-step checklist, the credential failure in how to fix 407 Proxy Authentication Required, and the target-side refusals in the 403 and 429 guides.

The proxy tester reading six form fields, percent-encoding credentials in build() and emitting five commands, next to a Network tab showing 0 requests.
The page assembles the command and hands it to you: your credentials are percent-encoded in the tab and copied to the clipboard, and the run happens on your machine — which is also why the timings you get are yours, not ours.

Questions about testing proxies

How do I test a proxy with curl?

Send a request through it to a page that echoes your IP: curl -x host:port -U user:pass https://ipinfo.io/json. If the IP in the response is the proxy exit rather than yours, it works. Add -w with time_connect, time_appconnect and time_starttransfer to see which segment is slow.

Does this tool send my proxy credentials anywhere?

No. The page has no backend: the commands are assembled in your browser and copied to your clipboard. Nothing is stored or transmitted, which is also why the test runs on your machine rather than here.

What does curl exit code 56 with a 407 mean?

The proxy refused your CONNECT tunnel because it did not accept the credentials or your source IP. It is a proxy-side error, not a block by the target: fix the username, password, URL encoding or IP allowlist. Details in the 407 guide.

How do I test a SOCKS5 proxy?

Use the socks5h:// scheme so the proxy resolves DNS: curl -x socks5h://host:port -U user:pass https://ipinfo.io/json. In Python requests install the requests[socks] extra and use the same scheme in the proxies dict.

What should I test after the IP check?

Your real target, with the same headers you will use in production. A proxy that passes ipinfo.io and fails your target is working correctly; the target is refusing the request, which is a 403 or 429 problem rather than a proxy problem.

Proxies that pass this test

Residential from $0.80/GB with user:pass or IP allowlist auth, a country flag in the username, and a free 100 MB trial to run this exact command against.

Get my free API key

Free key, $2 of usage credit every month, no credit card.