Run a connection check
Use the credentials and installation from your Python, Rust, or Go quickstart. These are complete programs; each checks an HTTP proxy and exits unsuccessfully if the gateway refuses it.- Python
- Rust
- Go
What the check proves
The check opens one HTTP CONNECT tunnel, by default toapi.ipify.org:443, with a 15-second timeout. It reads the gateway response and closes the connection without fetching a page through the tunnel. The target can still see a TCP connection from the proxy exit.
A 200 means the tunnel opened. It does not prove that a website will return the page you need, that a browser is configured correctly, or that every product property has been verified. Follow it with a real request from the same client your application uses.
A gateway refusal is a result, not an exception or Go error. Inspect result.ok in Python, result.ok() in Rust, or result.OK() in Go. A returned 407 can otherwise look like a successful function call.
The check uses HTTP CONNECT even if you built a URL with a different scheme. Do not point it at a SOCKS5 port to test SOCKS5.
Change the target or timeout
These fragments reuseproxy from the check program. In Rust, use them before Ok(()). In Go, add time to the imports and use the fragment inside run.
- Python
- Rust
- Go
Recognize SDK errors
Formatting checks account for the normalization rules: a space in
New York is handled differently from a space in a session ID.
All Python SDK exceptions inherit from NodeMavenError. API-specific exceptions inherit from ApiError. In Rust, account API errors also expose their status through error.status(). In Go, use errors.Is rather than comparing error strings.
Handle local configuration errors
These fragments demonstrate an intentional typo. They do not make a network request. Go needs the standard-libraryerrors and fmt imports.
- Python
- Rust
- Go
Interpret gateway responses
A status code is a starting point, not a complete diagnosis. The SDK’s gateway definition includes explanations from observed responses.
For the same failure,
requests, reqwest, or another client may raise a proxy/transport exception instead of exposing a normal HTTP response object. Distinguish the gateway’s CONNECT status from the target website’s HTTP status.
If the check succeeds but your task fails
- Your own IP is returned: confirm the application’s client uses the SDK output. A new proxy object does not reconfigure an existing client.
- The website returns 403, 429, or a challenge: inspect the target response, request rate, session handling, and the website’s access requirements. A successful tunnel is not a guarantee of website access.
- A sticky exit changes: check its lifetime, availability, and whether targeting or filters changed. See Manage sessions.
- The account API fails: verify
NODEMAVEN_APIKEY, not the proxy password. For 429, use a bounded retry policy with backoff. The SDK does not retry automatically; its built-in API client does not expose a reliableRetry-Afterheader.