Skip to main content
Configure one static residential proxy, then compare its actual exit with your dashboard allocation. Use this workflow to verify connectivity, authentication, and short-term exit continuity. An IP lookup does not verify geolocation or long-term availability.

Prepare connection fields

Open your purchased static residential IPs. Record these fields and confirm that the plan is active.
A Native proxy used from mainland China needs a working overseas network path. A Relay proxy uses the assigned relay host and port. Follow the purchase and configuration quick start to get complete fields. Keep the relay host, native connection IP, and final exit IP separate.

Configure, request, and verify

1

Confirm the allocation and client support

Select an IP in the location your workload needs. Confirm support for the assigned protocol and username/password authentication. Record the expiry time and concurrency limits.
2

Copy connection fields

Under Purchased IPs, expand Native proxy or Relay proxy and copy the host, port, username, and password separately. A complete string commonly uses this order. If a credential contains a colon, use separate fields rather than splitting only on delimiters.
Redacted static proxy dashboard showing protocol, connection fields, and separate exit IP details
Connection values in the image are redacted. Labels may vary by dashboard version; use the current fields.
3

Prepare variables outside the script

All values below are placeholders. Use the selected mode’s host and port, and set EXPECTED_EXIT_IP to the dashboard’s Exit IP. Load credentials from a secret manager or enter them interactively in the current terminal. Keep real credentials out of shared scripts and terminal history.
For HTTP, set PROXY_SCHEME=http. For SOCKS5, use socks5 for local destination DNS or socks5h for proxy-side DNS. Use a supported protocol; do not interchange protocols and ports. See HTTP vs SOCKS5.
4

Query a direct baseline and verify with curl

Run the direct command first, then only the proxy command supported by your endpoint. --proxy-user separates credentials from the endpoint. --noproxy "*" bypasses curl proxy settings; --noproxy "" prevents NO_PROXY from excluding the target. On Windows, use curl.exe. The PowerShell commands require version 7.3 or newer to pass the empty argument.
The commands should return JSON containing ip. Check each command’s exit code: $? in Bash or $LASTEXITCODE in PowerShell. A nonzero value means failure; empty output or an error page is not an exit IP. Compare direct and proxy exits, then compare the proxy result with the dashboard’s Exit IP.
5

Configure a browser or another client

Create an isolated browser profile, select the same protocol, and enter the host, port, username, and password in separate fields. For the initial check, rule out other system proxies or VPNs, run the client’s proxy check, and visit an approved IP lookup page.Choose your mobile guide by device and connection mode:For AdsPower, see static proxy configuration.
6

Install Python dependencies

Use Python 3.9 or newer. Install Requests with SOCKS support so the same example can handle HTTP and SOCKS5.
7

Run three spaced verification requests

Save the complete code below as static_proxy_check.py. Run it in the same terminal where you set the variables:
The script queries a direct baseline, then creates three separate proxy sessions. Between proxy requests, it completes the previous request and waits VERIFY_INTERVAL_SECONDS, defaulting to 30 seconds. After the third request, it queries the direct baseline again. Each session sets trust_env=False to avoid inherited environment proxies and .netrc; a system VPN or transparent forwarding can still affect the baseline.The script percent-encodes the username and password in the proxy URL and sets separate connect and read timeouts. It prints safe diagnostics, never the complete proxy URL or raw exception. Proxy, TLS, timeout, HTTP status, JSON format, and exit-comparison failures return a nonzero exit code.
8

Evaluate the result and clear credentials

A successful check requires the same direct baseline before and after, the same exit in all three proxy requests, and a proxy exit different from both direct results. If you set EXPECTED_EXIT_IP, all three must also match that allocation. Otherwise, inspect routing and the current allocation before retrying.Without EXPECTED_EXIT_IP, the output says expected_exit_matches=not_checked. That verifies short-term continuity and baseline differences only, not the dashboard allocation. Clear username and password variables from the current terminal when finished.

Complete Python example

Download the Python example, or save the code below as static_proxy_check.py.
static_proxy_check.py
Besides connection variables, you can set CONNECT_TIMEOUT_SECONDS (default 10), READ_TIMEOUT_SECONDS (default 20), and VERIFY_INTERVAL_SECONDS (default 30). Each must be positive. The default lookup is https://api.ipify.org?format=json. You can set IP_CHECK_URL to another approved HTTPS endpoint returning {"ip": "valid IP address"}; HTTP loopback is allowed for local offline tests.

Expected output format

This shows the fields of a successful run, using placeholder addresses and timestamps. Run the script yourself to obtain a result.
elapsed_seconds includes real request time and waiting, so it will not equal exactly 0, 30, and 60. Three matching results verify continuity only within this window. When sharing a record, retain UTC time, client versions, protocol, interval, status codes, and comparisons. Redact endpoint and IP addresses and omit credentials.

Troubleshoot by symptom

Give support the UTC time, client version, target, exit code, and redacted diagnostic. Omit passwords and complete authentication strings.

Frequently asked questions

Choose a protocol supported by both your endpoint and client. HTTP handles web requests. SOCKS5 supports compatible clients and more TCP protocols; socks5h sends destination hostnames to the proxy for resolution.
No. Static allocations usually retain continuity during their valid period, but can expire or be replaced under provider policy. Check expiry and verify the exit before an important workflow.
Check plan concurrency and usage rules first, and isolate unrelated environments and credentials. Technical reuse does not imply unlimited concurrency is permitted.
No. This script checks addresses and continuity only. Compare country, state, ASN, or ISP separately against independent geolocation results and your allocation.
The Requests proxy and SOCKS documentation explains proxy configuration and DNS modes. The curl manual lists proxy, authentication, and timeout options. MiyaIP original guide: static residential proxy setup and verification.