A reliable proxy setup has three parts: a client setting the application actually honors, credentials stored outside logs and source code, and a direct-versus-proxied check that proves the observed route changed. Configure one client first and keep concurrency low until that path is repeatable.
This hub organizes browser, operating-system, command-line, Python, and Node.js setup guides by the job you are doing. Proxy syntax, DNS handling, and authentication support still need to be checked against the current client version. Before scaling a client, review HTTP, HTTPS, and SOCKS5 proxy behavior, compare username/password and IP authentication, and use the proxy service selection checklist to avoid buying capacity for a configuration problem.
Choose a reading path by the problem
Start with the failed layer and finish with one repeatable request. These routes connect the concept, the client setting and the evidence to collect.
A proxy rejects authentication or returns 407
- Identify whether the account uses proxy credentials or source-IP authorization.
- Use a small cURL diagnostic to distinguish the proxy CONNECT response from the destination response.
- If Java HTTP works but HTTPS fails, read the JDK CONNECT and OkHttp authentication checks.
- Compare the evidence in a real support case with later 407 reports after replacement replies. A replacement notice does not establish a successful follow-up request.
An API rejects a request from the expected address
- Separate your client public source address from the proxy exit address in the API allowlisting guide.
- Check HTTP_PROXY, HTTPS_PROXY and NO_PROXY so the selected API route is intentional.
- Reproduce the API request with HTTPX or native PHP cURL; keep destination credentials separate from proxy credentials.
A request times out, fails TLS or takes the wrong route
- Classify the failure with the testing and troubleshooting hub before changing settings.
- Compare proxy protocol and CONNECT behavior, then verify strict TLS and the selected client route with the tested-client matrix.
- Run one direct control and one explicit proxy request. Use the versioned example repository to record status and transport outcomes separately.
Start here
- For interactive use, follow the Chrome, Firefox, Windows, and macOS setup guide.
- For a language overview, compare proxy configuration in cURL, Python, and Node.js.
- For a Python service, use the focused Python Requests proxy guide.
- For a reproducible command-line check, start with the cURL proxy guide.
Choose the configuration layer
| Client or layer | Good fit | Main setup risk |
|---|---|---|
| Operating system | Applications that honor system settings | Assuming every application inherits the setting |
| Browser | Interactive QA in a controlled profile | Extensions, account state, or DNS changing the observation |
| cURL | Small reproducible diagnostics | Credentials appearing in history or process listings |
| Python Requests | HTTP workflows with session control | Applying environment and session settings inconsistently |
| Node.js client | Application and automation integrations | Using an agent that does not match the library |
Prefer application-level configuration when you need precise ownership of the route. A system-wide setting is convenient, but it can make tests ambiguous when one application ignores it or another starts using it unexpectedly.
If this is your first endpoint, begin with how to use a proxy step by step: record the host, port, protocol, and authentication method; configure one client; then compare a direct and proxied request before using a specialized integration.
Choose a guide by task
Set up a browser or desktop
Use the browser and operating-system guide for manual regional QA, troubleshooting, or a dedicated browsing profile. Record whether the setting is system-wide, browser-specific, or supplied by an extension.
Create a minimal diagnostic
Use the cURL proxy guide to establish a direct baseline, make one proxied request, inspect the status, and confirm the exit observation. Replace secrets with placeholders before sharing a command.
Build a Python integration
Use the Python Requests guide to create an explicit session when several calls share proxy and timeout behavior. Handle authentication errors separately from connection and destination failures.
Build a Node.js integration
Use the cURL, Python, and Node.js overview to match the proxy agent or client option to the HTTP library. Add bounded timeouts, conservative retries, and a stop condition before increasing workload.
Automate a browser with Playwright
Use the Playwright proxy guide for browser-level or context-level routing, structured HTTP proxy credentials, bypass rules, clean-context verification, and browser troubleshooting.
Route Axios requests in Node.js
Use the Axios proxy config and proxy: false guide for native proxy fields, environment behavior, custom agents, timeouts, safe error logging, and layered Node.js diagnostics.
Automate Chromium with Puppeteer
Use the Puppeteer proxy setup guide for a process-level Chromium route, page authentication, session isolation, and an exit check from inside the automated browser.
Configure Docker network scopes
Use the Docker proxy configuration guide to separate daemon pulls, image builds, container environments, and NO_PROXY bypasses.
Route Git and npm developer traffic
Use the Git and npm proxy settings guide to inspect config scope, preserve TLS verification, test each client, and remove stale values.
Configure SOCKS5 and destination DNS
Use the SOCKS5 setup guide for Chrome, Firefox, and curl when proxy-side DNS or a non-HTTP relay is required.
Set a proxy on Android or iPhone
Use the Android and iPhone proxy guide for per-Wi-Fi HTTP settings, cellular boundaries, and application-specific verification.
Install Python packages with pip
Use the pip proxy configuration guide to compare a temporary --proxy option, shell variables, and scoped configuration files, then inspect precedence and remove stale settings.
Automate a browser with Selenium and Python
Use the Selenium proxy setup guide for the official WebDriver proxy capability, the authenticated-proxy boundary, session isolation, and exit verification inside the controlled browser.
Route C# HttpClient through a proxy
Use the C# HttpClient proxy guide to configure HttpClientHandler and WebProxy, separate proxy credentials, apply narrow bypasses, and reuse connections.
Configure Go net/http
Use the Go ProxyFromEnvironment and NO_PROXY guide to choose ProxyFromEnvironment or an explicit ProxyURL, test NO_PROXY, reuse transports, and diagnose CONNECT failures.
Configure outbound API requests in Postman
Use the Postman proxy setup guide for custom and system proxy selection, authentication, bypass rules, and request verification.
Route Node.js fetch with Undici
Use the Undici ProxyAgent guide to compare local and global dispatchers, environment ownership, tunneling, and bounded fetch checks.
Configure a PHP service with Guzzle
Use the Guzzle proxy guide for protocol-keyed request options, NO_PROXY behavior, credential handling, timeouts, and redacted diagnostics.
Test PowerShell web and REST requests
Use the PowerShell proxy setup guide for explicit proxy parameters, ProxyCredential, environment behavior, and route verification.
Route a controlled Scrapy crawl
Use the Scrapy proxy setup guide for HttpProxyMiddleware, request metadata, authentication, conservative concurrency, and classified retries.
Check protocol, authentication, and buying fit
Review HTTP, HTTPS, and SOCKS5 proxy behavior when a library does not use the route you expect. Compare username/password and IP authentication before rotating credentials, and use the proxy service selection checklist before increasing endpoint count.
Verify the finished client
Use the proxy testing guide after changing a client setting so the direct baseline and observed route come from the same application.
Diagnose a failed request
Follow common proxy errors and fixes when configuration succeeds but a connection, authentication, TLS, DNS, or destination response still fails.
Prepare, verify, then specialize
- Review types and protocols in Proxy Basics.
- Validate the completed setup in Proxy Testing and Troubleshooting.
- Apply the working client to controlled checks in Platform and Regional Proxy Testing Guides.
Choose locations only after one route works
If country or region is part of the test, compare available Mexela proxy locations after the client works with one known endpoint. Keep the selected location, observed location, language, account state, and test time in the result record.
Frequently asked questions
Should credentials go in the proxy URL?
Only when the client requires that form, and never in committed code, screenshots, shared logs, or shell history. Prefer secret storage and redact diagnostic output.
Why does a browser work while code fails?
The clients may use different protocols, DNS paths, certificate stores, authentication formats, or environment settings. Compare them one layer at a time.
Can system proxy settings cover every application?
No. Some applications honor them, some expose their own setting, and some bypass them. Verify each client with an observed route check.
More focused developer setup guides
- Python HTTPX Proxy Setup: Authentication, SOCKS5 and Async Requests
- Python aiohttp Proxy Setup: Sessions, Authentication and Timeouts
- HTTP_PROXY, HTTPS_PROXY and NO_PROXY: Practical Configuration Guide
- GitHub Actions Proxy Setup for API Allowlisting
- VS Code Proxy Setup: Marketplace, Extensions and Terminal
- WSL2 Proxy Setup: Windows, Linux and Localhost Troubleshooting
Workflow and native PHP setup
- n8n Proxy Setup: HTTP Request Node, Authentication and Route Checks
- PHP cURL Proxy Setup: Authentication, HTTPS CONNECT and Safe Diagnostics
Download the developer examples
Download the developer examples ZIP for the locally tested Python clients, environment checks, CI route-check files and native PHP cURL helper. The n8n workflow in this October 12 archive remains the original illustrative reference. The updated n8n guide separately documents 17 native workflow-engine checks from October 13; editor import and scheduling remain untested. Read the included README for runtime versions, setup and the limits of each check.
ZIP SHA-256:
3a43f7d1e6cbb9b2917dbcf88aaa8fe1a2733c33326187cb89c9a9119aad3e20
Keep real proxy credentials and destination secrets in your approved secret store; they are absent from this archive. Start with one approved destination and compare its observation with a direct baseline.
Tested Java and Rust HTTP clients
- Java Proxy Setup: HttpClient and OkHttp Authentication
- Rust reqwest Proxy Setup: Authentication, HTTPS CONNECT and TLS
Versioned public example sources
The public example repository groups Java, Rust, Python, PHP and n8n source files with exact runtime versions, setup instructions, source hashes and the limits of the recorded local checks. Download its source ZIP or clone its read-only Git snapshot before adapting one client.
Generate one HTTP proxy request
Use the browser-based proxy configuration generator for five clients: Python Requests, cURL, Node.js/Undici, PHP cURL and PowerShell 7 HttpClient. Every card configures an HTTP proxy and an HTTPS destination. Code generation is local; follow the recorded client/version scope and verify your own authorized request.
