Zum Inhalt springen

So verwenden Sie Proxies mit Node.js Axios: Complete Guide

TL;DR

Konfigurieren Sie GProxy proxies mit Node.js Axios für HTTP requests. Deckt proxy-Konfiguration, HTTPS-Unterstützung, Rotationsmuster und Fehlerbehandlung ab.

Sprache: JavaScript

Voraussetzungen

  • Node.js 16+ installiert
  • Axios installiert (npm install axios)
  • GProxy-Konto mit aktivem Proxy-Plan
  • Grundkenntnisse in Node.js und async/await

Schritt-für-Schritt-Einrichtung

1

Axios installieren

Axios und optionale SOCKS5-Unterstützung installieren

npm install axios
# For SOCKS5 support:
npm install socks-proxy-agent
2

HTTP proxy konfigurieren

GProxy proxy zur Axios-Anfragekonfiguration hinzufügen

const axios = require('axios');

const response = await axios.get('https://httpbin.org/ip', {
  proxy: {
    host: 'proxy.gproxy.net',
    port: 1000,
    auth: { username: 'YOUR_USER', password: 'YOUR_PASS' }
  }
});
console.log(response.data);
3

SOCKS5 proxy einrichten

socks-proxy-agent für SOCKS5-Unterstützung verwenden

const { SocksProxyAgent } = require('socks-proxy-agent');

const agent = new SocksProxyAgent('socks5://USER:PASS@proxy.gproxy.net:1001');
const response = await axios.get('https://httpbin.org/ip', {
  httpsAgent: agent, httpAgent: agent
});
4

Wiederverwendbaren Client erstellen

Eine Axios-Instanz mit proxy-Standardeinstellungen erstellen

const client = axios.create({
  proxy: {
    host: 'proxy.gproxy.net',
    port: 1000,
    auth: { username: 'YOUR_USER', password: 'YOUR_PASS' }
  },
  timeout: 30000
});

const data = await client.get('https://example.com');
5

Retry-Interceptor hinzufügen

proxy-Fehler mit automatischem Retry behandeln

client.interceptors.response.use(
  response => response,
  async error => {
    if (error.response?.status === 407 || error.code === 'ECONNRESET') {
      return client.request(error.config); // retry
    }
    throw error;
  }
);
6

Setup testen

Überprüfen, ob der proxy korrekt routet

const res = await client.get('https://httpbin.org/ip');
console.log('Proxy IP:', res.data.origin);

Codebeispiele

Basis Axios mit GProxy · javascript
const axios = require('axios');

async function main() {
  const response = await axios.get('https://httpbin.org/ip', {
    proxy: {
      host: 'proxy.gproxy.net',
      port: 1000,
      auth: {
        username: 'YOUR_USER',
        password: 'YOUR_PASS'
      }
    },
    timeout: 30000
  });

  console.log('Your proxy IP:', response.data.origin);
}

main().catch(console.error);
Gleichzeitige Anfragen mit Rate Limiting · javascript
const axios = require('axios');
const pLimit = require('p-limit');

const limit = pLimit(10); // max 10 concurrent

const client = axios.create({
  proxy: {
    host: 'proxy.gproxy.net',
    port: 1000,
    auth: { username: 'USER', password: 'PASS' }
  },
  timeout: 30000
});

const urls = Array.from({ length: 100 }, (_, i) =>
  `https://example.com/page/${i + 1}`);

const results = await Promise.all(
  urls.map(url => limit(() =>
    client.get(url).then(r => ({ url, status: r.status }))
      .catch(e => ({ url, error: e.message }))
  ))
);

console.log(`Success: ${results.filter(r => r.status).length}`);
console.log(`Failed: ${results.filter(r => r.error).length}`);
Geo-Targeted Anfragen · javascript
const axios = require('axios');

async function fetchFromCountry(url, country) {
  const response = await axios.get(url, {
    proxy: {
      host: 'proxy.gproxy.net',
      port: 1000,
      auth: {
        username: `USER-country-${country}`,
        password: 'PASS'
      }
    }
  });
  return { country, data: response.data };
}

const countries = ['us', 'de', 'gb', 'jp', 'br'];
const results = await Promise.all(
  countries.map(c => fetchFromCountry('https://httpbin.org/ip', c))
);

results.forEach(r =>
  console.log(`${r.country}: ${r.data.origin}`));

Warum Proxies mit Axios verwenden?

Axios ist der beliebteste HTTP-Client für Node.js und Browser mit über 100 Millionen wöchentlichen npm-Downloads. Das Hinzufügen von GProxy-Proxies zu Axios ermöglicht die IP-Rotation für Web Scraping, API-Zugriff von verschiedenen Standorten und anonyme Anfragen. Die über 10 Millionen Residential IPs und die Abdeckung von über 150 Ländern von GProxy lassen sich nahtlos in die Proxy-Konfiguration von Axios integrieren.

Grundlegende Proxy-Konfiguration

Axios unterstützt HTTP-Proxies über die integrierte proxy-Konfigurationsoption. Übergeben Sie den Proxy-Host, Port und die Authentifizierungsdaten direkt in der Request-Konfiguration oder als Standardwert. Für HTTPS-Ziele über einen HTTP-Proxy verwaltet Axios den CONNECT-Tunnel automatisch.

SOCKS5 Proxy-Unterstützung

Axios unterstützt SOCKS5 nicht nativ, aber Sie können dies mit dem Paket socks-proxy-agent hinzufügen. Erstellen Sie einen SOCKS5-Agenten und übergeben Sie ihn als httpsAgent in Ihrer Axios-Konfiguration. Dies funktioniert mit den SOCKS5-Endpunkten von GProxy.

Request-Interceptors für Proxy-Logik

Axios-Interceptors ermöglichen es Ihnen, Proxy-Rotationslogik, Wiederholungsversuche bei Fehlern und Logging hinzuzufügen. Fügen Sie einen Request-Interceptor hinzu, um Proxies dynamisch zuzuweisen, und einen Response-Interceptor, um Proxy-Fehler zu behandeln und mit einer anderen IP erneut zu versuchen.

Gleichzeitige Anfragen

Die asynchrone Natur von Node.js macht es perfekt für gleichzeitige Proxy-Anfragen. Verwenden Sie Promise.all() oder p-limit, um die Nebenläufigkeit zu steuern. Jede Anfrage über den Backconnect-Endpunkt von GProxy erhält eine eindeutige IP, sodass sich gleichzeitige Anfragen natürlich rotieren.

Best Practices für die Fehlerbehandlung

Proxy-spezifische Fehler erfordern eine spezielle Behandlung: 407 bedeutet Authentifizierungsfehler, ECONNREFUSED bedeutet, dass der Proxy nicht erreichbar ist, und ETIMEDOUT bedeutet, dass der Proxy oder das Ziel langsam ist. Legen Sie angemessene Timeouts fest und implementieren Sie eine Retry-Logik mit exponentiellem Backoff für die Zuverlässigkeit in der Produktion.

Anwendungsfälle

API Data Collection

Sammeln Sie Daten von APIs, die IP-basierte Rate-Limits erzwingen, unter Verwendung von rotierenden Proxys.

Price Monitoring Services

Erstellen Sie Preis-Tracking-Microservices, die Einzelhändler von verschiedenen Standorten aus abfragen.

Webhook Testing

Senden Sie Test-Webhooks von verschiedenen IPs, um die Sicherheitsfilter Ihrer Anwendung zu überprüfen.

Microservice Testing

Testen Sie Ihre eigenen APIs von externen IPs aus, um Rate Limiting und Geo-Blocking-Regeln zu verifizieren.

Profi-Tipps
Erstellen Sie eine dedizierte Axios-Instanz mit proxy-Standardeinstellungen für sauberen Code. Verwenden Sie p-limit, um die Concurrency zu steuern und eine Überlastung der Zielserver zu vermeiden. Fügen Sie Response-Interceptors für automatische Retries bei proxy-Fehlern hinzu. Legen Sie angemessene Timeouts (30s) fest, um langsame proxy-Verbindungen reibungslos zu handhaben.

FAQ

Unterstützt Axios SOCKS5 nativ? +
Nein, aber Sie können das Paket socks-proxy-agent verwenden, um SOCKS5-Unterstützung hinzuzufügen. Übergeben Sie den Agenten als httpsAgent in der Axios-Konfiguration.
Wie behandle ich Proxy-Authentifizierungsfehler? +
Fangen Sie 407-Statuscodes in Response-Interceptors ab. Überprüfen Sie Ihre GProxy-Anmeldedaten und stellen Sie sicher, dass Ihr Plan aktiv ist.
Kann ich Proxies pro Anfrage rotieren? +
Ja. Der Backconnect-Endpunkt von GProxy weist pro Verbindung eine neue IP zu, sodass jede Axios-Anfrage automatisch eine andere IP erhält.
Funktioniert die Proxy-Konfiguration in Browsern? +
Nein, die Axios-Proxy-Konfiguration funktioniert nur in Node.js. Browser-Anfragen werden über die Proxy-Einstellungen des Systems oder der Erweiterung geleitet.

Bereit loszulegen?

Starten Sie mit GProxy in Minuten — Residential-Proxies ab $0,85/GB, IPv6 ab $0,03/Proxy, nutzungsbasierte Abrechnung.

Weitere Integrationen

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.