Proxy not working: step-by-step check

A single curl command shows the full path of a request through the proxy. Its output tells you at which step something went wrong, and what to do about it.

1. Run the check

Take the proxy string from your dashboard and run this in a terminal (Windows 10 and 11 already include curl; in PowerShell, type curl.exe):

curl -v -x http://USERNAME:PASSWORD@gw.prokso.com:10000 https://prokso.com/ip

The -v flag prints every stage. Lines starting with an asterisk * show what curl is doing, lines with > show what it sends, and lines with < show what the proxy replies. Below are the six steps in order: find the first one where the output differs from normal.

If your password contains @, : or /, curl will misread the address. Reset the password in the dashboard or encode these characters (@ becomes %40).

2. Step 1. Gateway address resolved

Normal:

* Host gw.prokso.com:10000 was resolved.
*   Trying 203.0.113.10:10000...

The error Could not resolve proxy: gw.prokso.com means the gateway name couldn't be resolved to an address. Check the host name for typos and make sure your internet connection works. To check separately: nslookup gw.prokso.com should return several addresses.

3. Step 2. Connection to the gateway

Normal:

* Connected to gw.prokso.com (203.0.113.10) port 10000

If curl waits a long time and prints connect timeout or Failed to connect, the gateway isn't responding on that port. Most often the port is wrong: only 823, 824 and 10000-20000 work. The second cause is your network: corporate and some public networks block outgoing connections to non-standard ports. Try from a different network, such as mobile data.

4. Step 3. Username and password

Normal for a site on https://:

> CONNECT prokso.com:443 HTTP/1.1
< HTTP/1.1 200 Connection established

If instead of 200 the response is 407, the gateway rejected access. After the code, the gateway states the reason:

  • 407 NO_USER: wrong username or password. Copy the string from the dashboard again; after a password reset, the old one stops working.
  • 407 TRAFFIC_EXHAUSTED: the plan is out of traffic. The proxy works again as soon as you top up.
  • 407 USER_BLOCKED: the plan is paused or blocked. Open the plan in your dashboard.
  • 407 PORT_NOT_ALLOWED: the sticky port is outside the 10000-20000 range.

On port 824 (SOCKS5), a wrong username looks different: User was rejected by the SOCKS5 server. The full list of gateway codes is in the error table; 407 is covered in detail on the "407 Proxy Authentication Required" page.

5. Step 4. Tunnel to the site

After 200 Connection established, the gateway has connected to the site. If not, the response carries a different code:

  • 403 HOST_BLOCKED: you blocked the site yourself in the plan settings.
  • 403 SITE_PERMANENTLY_BLOCKED or 403 PORT_BLOCKED: the site or port is closed for all customers; see the list on the Blocked websites page.
  • 502 NO_HOST_CONNECTION: the gateway couldn't connect to the site because it is down or refused the connection. Retry the request.
  • 503 NO_RAY: no free addresses match your geo parameters. Remove the city or carrier, or choose another country.

6. Step 5. Encrypted connection (TLS)

Normal:

* SSL connection using TLSv1.3 / ...
*  subject: CN=prokso.com

An SSL certificate problem error at this step almost always comes from your side: an antivirus or corporate network intercepts encrypted connections and substitutes its own certificate. Prokso proxies don't alter encryption. Another common cause is https:// in the proxy address: write http://, since the tunnel carries encrypted data anyway. More on the certificate errors page.

7. Step 6. IP and country in the response

The last line is the response from the /ip page: the IP, country, city and carrier of the address the proxy gave you. Compare them with what you set in the username.

  • If the response shows your own address, the request bypassed the proxy. In curl this happens when the -x flag is in the wrong place; in other software, when the proxy is set for the wrong protocol.
  • If the country is different, compare with another geo database: databases locate addresses differently, especially on mobile networks.
  • For a sticky port, repeat the command: the address should stay the same until the session duration runs out.

8. If curl works but your software doesn't

Then access and the gateway are fine, and the problem is in your software's settings:

  • The proxy type doesn't match the port: 823 is HTTP only, 824 is SOCKS5 only. curl drops an HTTP request to port 824 with error (56).
  • The software expects a different string format: pick the right one in the generator or convert the list with the converter.
  • The software takes the proxy from the HTTP_PROXY and HTTPS_PROXY environment variables or, conversely, ignores them.

Step-by-step setup for antidetect browsers, regular browsers and libraries is in the Guides section. If nothing helped, send the curl -v output to support, after replacing the password and the Proxy-Authorization line with asterisks.

MCP server for AI agents →How to use Prokso

Further reading