Utilisez Shifter avec Node.js
Intégrez les proxies résidentiels et ISP de Shifter dans n'importe quel projet Node.js en quelques minutes. Fonctionne parfaitement avec axios, le fetch natif (Node 18+), got, undici, Puppeteer et Playwright.
Démarrage rapide
Installer
npm install axios https-proxy-agent Utilisation de base
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";
const proxyUrl =
"customer-USERNAME-country-us-sid-123ABC:PASSWORD@p.shifter.io:443";
const agent = new HttpsProxyAgent(proxyUrl);
const { data } = await axios.get("https://ipinfo.io/json", {
httpsAgent: agent,
proxy: false,
});
console.log(data);
// { ip: "154.16.xxx.xxx", city: "New York", country: "US", ... } Fonctionnalités
Exemples
axios + Session Persistante Géociblée
Épinglez une IP résidentielle pour toute une session utilisateur en ajoutant un `sid` au nom d'utilisateur. Ajoutez `country-uk`, `city-london` ou `asn-7922` pour un ciblage géographique.
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";
import { randomBytes } from "node:crypto";
const sid = randomBytes(4).toString("hex");
const proxyUrl =
`customer-USERNAME-country-uk-city-london-sid-${sid}-ttl-300:` +
`PASSWORD@p.shifter.io:443`;
const client = axios.create({
httpsAgent: new HttpsProxyAgent(proxyUrl),
proxy: false,
timeout: 30_000,
headers: {
"User-Agent":
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
},
});
const login = await client.post("https://example.com/login", {
email: "user@example.com",
password: "secret",
});
const dashboard = await client.get("https://example.com/dashboard");
const orders = await client.get("https://example.com/orders");
console.log(login.status, dashboard.status, orders.status); Fetch natif (Node 18+) avec undici
Si vous utilisez Node 18 ou une version plus récente, vous n'avez pas besoin d'axios — utilisez le fetch global avec un ProxyAgent undici. L'empreinte la plus légère possible.
import { ProxyAgent, setGlobalDispatcher } from "undici";
const proxyAgent = new ProxyAgent({
uri: "http://p.shifter.io:443",
token: `Basic ${Buffer.from(
"customer-USERNAME-country-us-sid-456DEF:PASSWORD",
).toString("base64")}`,
});
setGlobalDispatcher(proxyAgent);
const r = await fetch("https://api.example.com/products?page=1");
const json = await r.json();
console.log(json); Puppeteer avec Proxy Authentifié
Faites transiter Chromium par Shifter et authentifiez-vous via page.authenticate(). Combinez `sid` avec les cookies au niveau du navigateur pour maintenir une session stable pendant toute l'exploration.
import puppeteer from "puppeteer";
const PROXY_HOST = "p.shifter.io";
const PROXY_PORT = 443;
const PROXY_USER = "customer-USERNAME-country-de-sid-789GHI";
const PROXY_PASS = "PASSWORD";
const browser = await puppeteer.launch({
args: [`--proxy-server=http://${PROXY_HOST}:${PROXY_PORT}`],
headless: "new",
});
const page = await browser.newPage();
await page.authenticate({ username: PROXY_USER, password: PROXY_PASS });
await page.setUserAgent(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
);
await page.goto("https://example.com", { waitUntil: "networkidle0" });
const title = await page.title();
const html = await page.content();
console.log(title, html.length, "bytes");
await browser.close(); Playwright (multi-navigateur)
Les options de lancement de Playwright acceptent les proxies nativement, avec les identifiants intégrés. La même configuration fonctionne pour Chromium, Firefox et WebKit.
import { chromium } from "playwright";
const browser = await chromium.launch({
proxy: {
server: "http://p.shifter.io:443",
username: "customer-USERNAME-country-fr-city-paris-sid-ABC123",
password: "PASSWORD",
},
});
const context = await browser.newContext({
userAgent:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
});
const page = await context.newPage();
await page.goto("https://example.com");
const headlines = await page.locator(".headline").allTextContents();
console.log(headlines);
await browser.close(); Questions fréquentes Questions FAQ
Questions fréquentes sur l'utilisation de Shifter avec Node.js.
Passez un https-proxy-agent (ou http-proxy-agent pour du HTTP simple) dans l'option httpsAgent, et définissez proxy: false pour qu'axios utilise l'agent directement. Le format de l'URL du proxy est `http://USER:PASS@p.shifter.io:443`. La même instance axios peut ensuite être réutilisée pour plusieurs requêtes.
Commencer à utiliser Shifter avec Node.js
Ajoutez les 205M+ proxies résidentiels et ISP de Shifter à votre stack Node.js en moins de 5 minutes. Rotation par requête, sessions persistantes et prise en charge complète de Puppeteer / Playwright.