ipvolt / field notesDeveloper library

Build a betterconnection.

Practical proxy knowledge, from the first request to the details that matter. Clear examples. Useful distinctions. Fewer assumptions.

Start with your stack
Connection notes01—03
  1. Your client

    cURL · Python · Node.js · Playwright

    Protocol & authentication

  2. Proxy gateway

    Connection · Credentials · Session

    Request & response

  3. Destination

    The service you’re connecting to

A general proxy flow. These guides are independent of any ipvolt service availability.

Read as Markdown

Integration

Connect your stack.

Explicit configuration, bounded requests and a clear way to verify the connection.

Use a proxy with curl

How to use a proxy with curl: the -x flag, http_proxy and https_proxy variables, SOCKS5 with socks5h, proxy authentication, and reading CONNECT and 407 errors.

Configure Python Requests

Configure a proxy in Python Requests: the proxies dictionary, Session defaults, credentials, SOCKS5 via requests[socks], environment variables and ProxyError.

Use a proxy with Node.js fetch

Route Node.js native fetch through an Undici ProxyAgent with explicit authentication, an abort deadline and response cleanup.

Configure a proxy in Playwright

Set an authenticated HTTP proxy for a Playwright browser context, keep test state isolated, and diagnose navigation separately from subresources.

HTTPX async proxies

Configure an HTTPX async proxy client, close streamed responses correctly, and reproduce a PoolTimeout locally before changing your proxy settings.

Amazon listing notifications

Handle Amazon SP-API listing events with a tested SQLite inbox: deduplicate deliveries, recover after restart and reject superseded reads.

Australian time zones in Playwright

Run 12 Australian browser-clock checks in Playwright, including Lord Howe’s 30-minute change. Separate fixed UTC inputs, browser time zones and the Node runner.

Shopify Canada localization

Use a configuration snapshot and paired visits to test Shopify Canada localization. Separate IP, URL, language, saved choice and shipping-address effects.

Accept-Encoding defaults by client

curl, Wget 1.x, urllib, node:http, PHP curl, Guzzle and java.net.http.HttpClient send no Accept-Encoding (or identity) by default. Tested fixes and byte checks.

Axios proxy setup

Configure Axios proxies in Node.js, separate explicit settings from environment and agent routing, and reproduce authentication and TLS checks.

aiohttp proxy setup in 3.14

Set up an HTTP or SOCKS proxy in aiohttp 3.14: replace the deprecated BasicAuth and proxy_auth, turn on trust_env, and read the 407 and Bad status line errors.

Scrapy proxy setup in 2.19

Scrapy 2.19 proxy setup: credentials in meta["proxy"], per-request rotation, HTTP_PROXY, and fixes for TunnelError 407, ignored 407 responses and socks5.

curl_cffi proxy setup

curl_cffi proxy setup on 0.16.3: credentials with impersonate, why a CONNECT 407 raises ConnectionError and not ProxyError, HTTP_PROXY rules, socks5h.

Block images and fonts in Playwright

Block images, fonts and media in Playwright with route() in Python and Node.js, for a whole browser context or by host, plus the cache and service worker caveats.

Git proxy setup

Configure a Git HTTP or HTTPS proxy, diagnose 407 and certificate failures, and remove the correct setting. Includes a tested routing fixture.

npm proxy settings

Set npm proxy and https-proxy, resolve npmrc and environment conflicts, verify package downloads, and fix trust or routing without disabling TLS checks.

Concept

Understand the tradeoffs.

Choose a protocol, session model or network type with the right questions in mind.

HTTP vs SOCKS5 proxies

Compare HTTP CONNECT and SOCKS5, understand DNS placement and TLS boundaries, and select a protocol your actual client and provider support.

Rotating vs sticky proxies

Choose rotation around the smallest complete workflow, distinguish exit affinity from cookies, and test what happens when a sticky session ends early.

Mobile vs residential proxies

Compare carrier and household exit networks for QA, keep browser emulation separate, and measure the capabilities your workflow actually needs.

Troubleshooting

Find the failure.

Separate authentication, connectivity and destination errors before changing your setup.

Fix proxy error 407

Diagnose Proxy Authentication Required in a repeatable order: gateway, authentication method, credential encoding, account scope and client configuration.

Proxy environment variables

Diagnose HTTP_PROXY, HTTPS_PROXY, ALL_PROXY and NO_PROXY routing differences in curl, Python Requests and Node.js with an isolated local check.

Diagnose proxy timeouts

Separate proxy DNS, TCP, CONNECT, TLS and response delays with curl timings, then set request deadlines and decide whether a retry is safe.

Fix ERR_TUNNEL_CONNECTION_FAILED

ERR_TUNNEL_CONNECTION_FAILED and ERR_PROXY_CONNECTION_FAILED explained with a verified proxy failure matrix, plus how to recover the CONNECT status Chromium hides.

Node.js fetch failed behind a proxy

Decode Node.js TypeError: fetch failed behind a proxy: print the err.cause chain, fix an ignored HTTPS_PROXY or undici skew, and read a proxy 403, 407 or 502.

Node.js fetch ignores HTTPS_PROXY

Node's built-in fetch silently skips HTTP_PROXY and HTTPS_PROXY, so requests time out with UND_ERR_CONNECT_TIMEOUT while curl works. Here's why, and how to fix it on every Node version.

SSL WRONG_VERSION_NUMBER behind a proxy

The same SSL wrong version number error comes from two hops behind a proxy. Tell which one failed in curl, Requests and HTTPX, then apply the right fix.

Missing dependencies for SOCKS support

Fix InvalidSchema: Missing dependencies for SOCKS support in Python Requests, pip and HTTPX. Install requests[socks], or clear the ALL_PROXY variable behind it.

Scrapy start_requests() not called

Scrapy 2.16 removed Spider.start_requests(): the spider logs Crawled 0 pages and closes as finished with no warning. Fix: async def start(). Tested on 2.19.

Country

Check the location.

Browse the country collection

Evaluate local networks, exit locations and the evidence a country-specific proxy test needs.

Netherlands proxies

Evaluate Netherlands proxies with Dutch network context, exit-IP and city checks, ASN evidence, and a practical trial checklist before choosing a provider.

USA proxies

Evaluate USA proxies by country, state and city. Compare network evidence, plan regional checks and measure session behavior before choosing a provider.

UK proxies

Evaluate UK proxies with current carrier context, UK and GB geography, postcode limitations and a practical test plan for country or network requirements.

Germany proxies

Evaluate Germany proxies with current carrier and roaming context, city-location limits, browser-language controls and a practical acceptance checklist.

France proxies

Evaluate France proxies with carrier and brand distinctions, mainland and overseas scope, exit-IP evidence, and a practical localization test matrix.

Brazil proxies

Brazil proxies, mobile or residential: what the label proves, Vivo, Claro and TIM context, states and time zones, CEP and CPF inputs and a trial plan.

Portugal proxies

Specify and verify Portugal proxies: mainland and island scope, ANACOM operator names, pt-PT settings, Portuguese checkout fields and a four-row trial.

Australia proxies

Choose the evidence an Australian proxy test needs: country or city, Telstra/Optus/TPG network labels, nbn provider layers and session requirements.

Canada proxies

Evaluate Canadian proxies with a country, carrier and session acceptance matrix. Separate Rogers, Bell, TELUS and Quebecor brands from the evidence your test needs.

Japan proxies

Evaluate Japan proxies with separate IP-location, egress and mobile-access evidence. Work through au/UQ branding and Rakuten roaming before accepting a sample.

Developer tools

Inspect your traffic.

Open a report and understand what your scraper transferred.

Scrapescope bandwidth analyzer

Free open-source tool that shows where your scraper's proxy bandwidth goes and finds the smallest response containing your data. Works with any provider.