Node.js için Axios’ta HTTP ve SOCKS Proxy’leri
Axios’un Node HTTP bağdaştırıcısında HTTP proxy yapılandırın veya seçilen IP SOCKS uç noktasıysa SOCKS aracısı kullanın.
Axios’un Node HTTP bağdaştırıcısı, ana makine ve sayısal port içeren HTTP proxy nesnesi kabul eder:
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);
Belge uç noktasını hizmetinizden veya HTTP proxy listesinden bir HTTP kaydıyla değiştirin. Bu örnekler Node kullanır; tarayıcıdaki Axios bu seçeneklerle tarayıcının ağ proxy’sini seçemez. host alanı URL şeması içermeyen adresi alır.
Proxy nesnesinin protocol alanı dinleyicisini tanımlar. Axios 1.21.0’da Node HTTP bağdaştırıcısı HTTPS hedefi için CONNECT kullanır, ardından tünelden kaynak sunucuyla TLS anlaşması yapar. Eski sürümler farklı proxy yolları kullandığından kurulu sürüm önemlidir.
SOCKS URL’si SOCKS aracısı gerektirir
HTTP proxy nesnesi SOCKS seçmez. Uyumlu aracı kullanın:
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 SOCKS aracısının sağladığı rota için Axios’un HTTP proxy işlemesini kapatır. Aracıyı HTTP ve HTTPS hedefleri için vermek iki şemayı da kapsar. Burada socks5h hedef DNS’ini SOCKS tarafına devreder; seçilen sunucu bu protokolü desteklemelidir.
Hataları yorumlama
Site başarısız bir durum döndürdüğünde Axios hatası yanıt içerebilir. Yanıt yoksa hata kodunu ve bağlantı ayrıntılarını inceleyin. Eksik modül, desteklenmeyen protokol veya uyumsuz Node sürümü istek uç noktaya ulaşmadan başarısız olabilir.
Kimlik doğrulamalı HTTP proxy’leri için proxy nesnesinin auth alanını işletmecinin verdiği bilgilerle kullanın. Hedefin kimlik doğrulama ayarları farklı bir tarafa hizmet eder.