HTTP clients: cURL, Python, PHP and Node.js
Start with the language examples in the quickstart. Python requests accepts a proxies mapping; PHP cURL exposes CURLOPT_PROXY and CURLOPT_PROXYUSERPWD; Node.js undici uses a ProxyAgent dispatcher. Keep credentials in environment or secret storage and set explicit timeouts. Global environment proxy behavior differs by library.
Playwright and Puppeteer
For a compatible HTTP endpoint, Playwright accepts a proxy object at browser launch with server, username and password. Puppeteer can receive --proxy-server at launch and page.authenticate for supported HTTP authentication. Keep a fresh context for each authorized test and never disable HTTPS errors as a shortcut. These are your own browser runners; no CloudCity hosted Browser API is implied.
Selenium and Scrapy
Selenium browser proxy support and authenticated proxy behavior depend on the browser/driver; verify the driver’s documented capability instead of injecting credentials into the URL. Scrapy uses its HTTP proxy middleware and request meta proxy setting; manage authentication without logging headers. Bound retries, concurrency and response size in the crawler.
Postman and desktop tools
Configure the supported proxy in Postman’s proxy settings and keep the secret outside shared collections. Check whether the selected agent actually uses that proxy. A browser extension or operating-system proxy is not automatically used by every application. Validate one authorized HTTPS request and inspect the response before exporting a configuration.
import { chromium } from 'playwright';
const browser = await chromium.launch({ proxy: {
server: `http://${process.env.PROXY_HOST}:${process.env.PROXY_PORT}`,
username: process.env.PROXY_USER,
password: process.env.PROXY_PASSWORD
}});
try {
const page = await browser.newPage();
await page.goto(process.env.TARGET_URL, { timeout: 15000 });
console.log(await page.title());
} finally { await browser.close(); }