Adapter Node HTTP Axios przyjmuje obiekt proxy HTTP z hostem i liczbowym portem:

import axios from 'axios';

const response = await axios.get('https://example.com/', {
  adapter: 'http',
  proxy: {
    protocol: 'http',
    host: '203.0.113.10',
    port: 8080,
  },
  timeout: 15000,
});

console.log(response.status);

Zastąp dokumentacyjny punkt końcowy wpisem HTTP swojej usługi albo z listy proxy HTTP. Przykłady używają Node; Axios w przeglądarce nie może tymi opcjami wybrać sieciowego proxy przeglądarki. Pole host przyjmuje adres bez schematu URL.

Pole protocol obiektu proxy opisuje jego nasłuchującą usługę. W Axios 1.21.0 adapter Node HTTP używa CONNECT dla celu HTTPS, a następnie negocjuje TLS z serwerem źródłowym przez tunel. Starsze wydania używały innych tras proxy, więc zainstalowana wersja ma znaczenie.

URL SOCKS potrzebuje agenta SOCKS

Obiekt proxy HTTP nie wybiera SOCKS. Użyj zgodnego agenta:

npm install [email protected] [email protected]
import axios from 'axios';
import { SocksProxyAgent } from 'socks-proxy-agent';

const agent = new SocksProxyAgent('socks5h://203.0.113.10:1080');

try {
  const response = await axios.get('https://example.com/', {
    adapter: 'http',
    httpAgent: agent,
    httpsAgent: agent,
    proxy: false,
    timeout: 15000,
  });
  console.log(response.status);
} finally {
  agent.destroy();
}

proxy: false wyłącza obsługę proxy HTTP w Axios dla trasy dostarczanej przez agenta SOCKS. Podanie agenta dla celów HTTP i HTTPS obejmuje oba schematy. Tutaj socks5h deleguje DNS celu na stronę SOCKS; wybrany serwer musi obsługiwać ten protokół.

Odczytywanie błędów

Błąd Axios może zawierać odpowiedź, gdy witryna zwróciła status niepowodzenia. Bez odpowiedzi sprawdź kod błędu i szczegóły połączenia. Brak modułu, nieobsługiwany protokół lub niezgodna wersja Node mogą spowodować błąd, zanim żądanie dotrze do punktu końcowego.

Dla proxy HTTP z uwierzytelnianiem użyj pola auth obiektu proxy z danymi od operatora. Ustawienia uwierzytelniania celu służą innej stronie.

Powiązane artykuły