Node.js üçün Axios-da HTTP və SOCKS proksiləri
Axios-un Node HTTP adapterində HTTP proksi qurun və ya seçilmiş IP SOCKS son nöqtəsidirsə, SOCKS agentindən istifadə edin.
Axios-un Node HTTP adapteri host və rəqəmsal port olan HTTP proksi obyekti qəbul edir:
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);
Sənədləşdirmə son nöqtəsini xidmətinizdən və ya HTTP proksi siyahısından HTTP qeydi ilə əvəz edin. Nümunələr Node istifadə edir; brauzer Axios-u bu parametrlərlə brauzerin şəbəkə proksisini seçə bilməz. host sahəsi URL sxemi olmayan ünvanı qəbul edir.
Proksi obyektinin protocol sahəsi onun dinləyicisini təsvir edir. Axios 1.21.0-da Node HTTP adapteri HTTPS hədəfi üçün CONNECT istifadə edir, sonra tunellə mənbə serverlə TLS razılaşdırır. Köhnə buraxılışlar başqa proksi yolları istifadə edib; buna görə quraşdırılmış versiya vacibdir.
SOCKS URL-i üçün SOCKS agenti lazımdır
HTTP proksi obyekti SOCKS seçmir. Uyğun agent işlədin:
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 agentinin verdiyi marşrut üçün Axios-un HTTP proksi emalını söndürür. Agenti həm HTTP, həm HTTPS hədəfləri üçün vermək hər iki sxemi əhatə edir. Burada socks5h hədəf DNS-ini SOCKS tərəfinə həvalə edir; seçilmiş server həmin protokolu dəstəkləməlidir.
Xətaları anlamaq
Sayt uğursuz status qaytaranda Axios xətasında cavab ola bilər. Cavab yoxdursa, xəta kodu və bağlantı təfərrüatlarını yoxlayın. Çatışmayan modul, dəstəklənməyən protokol və ya uyğunsuz Node versiyası sorğu son nöqtəyə çatmazdan əvvəl uğursuz ola bilər.
Autentifikasiyalı HTTP proksiləri üçün proksi obyektinin auth sahəsinə operatorun verdiyi giriş məlumatlarını daxil edin. Hədəfin autentifikasiya parametrləri başqa tərəfə aiddir.