Proxy not working? Find the failure

Start with the error your client returned. A refused connection, a certificate failure and a destination rejection need different fixes.

What did you see?

Connection refused or cURL (7)
Check the IP and port, then try a fresh endpoint.
Timeout or cURL (28)
Test the destination directly before changing timeouts.
Handshake or invalid response
Match HTTP, HTTPS CONNECT or SOCKS5 settings.
Certificate error or cURL (60)
Compare the direct request and keep verification on.
HTTP 407, 403 or 429
Separate proxy authentication from destination rejection.
On this page

Test without the proxy

Run the same request directly. This command ignores proxy environment variables for this request:

Direct request, with proxy settings bypassed
curl --noproxy '*' --connect-timeout 5 --max-time 15 --fail --show-error https://example.com

Use curl.exe on Windows. If the direct request also fails, investigate the destination, DNS or your network first. Error 28 means a timeout was reached; it does not identify which network hop caused the delay.

Use the same destination for the proxied test. Five seconds to connect and fifteen seconds overall keep a failed test from hanging indefinitely.

Check the address and port

Copy the complete endpoint again from the current list. A wrong port can target an unrelated service. A refused connection generally means no service accepted it at that address and port; a firewall can also reject it.

Try a second recently checked endpoint. The directory removes entries after 15 minutes without new check evidence, but a listed endpoint can stop working sooner.

Match the proxy scheme

Use http://IP:PORT for an HTTP proxy, including one with the HTTPS CONNECT label. Use socks5h://IP:PORT for SOCKS5 with destination DNS at the proxy. Do not switch the proxy URL to https:// simply because the destination uses HTTPS.

The protocol settings comparison shows these combinations side by side. Confirm the type before increasing timeouts.

Handle certificate errors

Test the destination directly, then through another endpoint. If only one proxy fails, stop using it. If both direct and proxied requests fail, check the destination certificate and your client’s trust store.

Keep certificate verification enabled. Adding --insecure or verify=False hides the failed check instead of resolving it. FreeProxyHub’s HTTPS label records an earlier successful check, not a guarantee for every later connection.

Read the HTTP response

407
The proxy asks for authentication. FreeProxyHub supplies no credentials; choose another endpoint.
403
The request was refused. Read the response to identify whether it came from the proxy or destination. A different IP is not a promise of access.
429
A rate limit was reached. Respect any Retry-After value and reduce requests. Public IPs can be shared by many users.

With cURL’s --fail option, an HTTP error can produce exit code 22. That is distinct from failing to connect. A CAPTCHA or access restriction also needs the destination’s access rules, rather than repeated retries.

When every proxy fails

Check whether your network permits outgoing proxy connections and whether the app actually uses your chosen settings. Restore your previous configuration after testing.

How checks work explains the limits of timestamps and measurements. The cURL exit-code reference defines the codes above.