Şu anda Stack Overflow’da bir yerde biri, Axios’un HTTPS proxy’lerinde “sessizce bozulduğuna” kesin gözüyle bakıyor. Bu, Node.js proxy anlatımlarında en sık tekrarlanan iddialardan biri; ama bu rehber için test ettiğim güncel sürümü doğru yansıtmıyor. Gerçek HTTP ve HTTPS hedefleri olan, iki proxy arkasına kurulmuş yerel bir test düzeneği çalıştırdım ve Axios 1.19.0, HTTPS isteğini proxy’yi atlamak yerine düzgün bir CONNECT isteğiyle tünelledi.
Bu, insanların anlattığı sıkıntıların uydurma olduğu anlamına gelmiyor. Eski Axios sürümlerinde gerçekten hatalar vardı (issue #3384 ve issue #4531 buna dair kanıtlar), ayrıca yeni Node sürümleri dikkatli yapılandırılması gereken ikinci bir environment-proxy yolunu beraberinde getiriyor. Bu rehber, günümüzde Axios 1.19.0 ile gerçekte neyin çalıştığını, proxy’yi isteklerinize bağlamanın tüm yöntemlerini, çoğu rehberde görmeyeceğiniz interceptor tabanlı bir rotasyon desenini ve işler ters gittiğinde kullanabileceğiniz tam bir hata–çözüm tablosunu anlatıyor.
Axios Proxy Nedir ve Node.js’te Neden Önemlidir?
Axios bağlamında proxy, Node süreciniz ile hedef site arasında duran bir ara sunucudur. İsteğiniz önce proxy’ye gider, proxy onu iletir ve hedef sizin IP’niz yerine proxy’nin IP adresini görür. Olayın özü bu.
Geliştiriciler bunu birkaç nedenle kullanır: IP tabanlı kısıt koyan ya da engelleyen siteleri taramak, bir uygulamanın farklı bir coğrafyadan nasıl davrandığını test etmek, trafiği kurumsal çıkış noktasından yönlendirmek ya da kendi sunucularının IP’sini bazı hedeflerin erişim kayıtlarından uzak tutmak. Axios’un resmi request config dokümanı, host, port, protocol ve auth alanlarına sahip yerleşik bir proxy seçeneği sunar — yıllardır oradadır ve her rehberin (bu da dahil) ilk gösterdiği şey budur.
Gözden kaçan kısım şu: proxy seçeneği, HTTP ya da HTTPS hedefe gidiyor olmanıza ve kullandığınız Axios sürümüne göre farklı davranır. Bu rehberin var olma nedeni tam olarak bu farktır.
Node.js ve Axios Kurulumu (Hızlı Başlangıç)
Zaten bir projeniz varsa bunu atlayın. Yoksa iki dakikanızı alır.
mkdir axios-proxy-demo && cd axios-proxy-demo
npm init -y
npm install axios
ESM import kullanmak istiyorsanız package.json dosyanıza "type": "module" ekleyin (ben ekliyorum — bir proxy demosunda CommonJS require() kullanmak biraz eski duruyor). Güncel Node LTS sürümü v24.18.0, ancak testlerimi özellikle v22.22.3 üzerinde yaptım; böylece sonuçlar en yeni runtime tuhaflıklarına bağlı kalmasın.
Bunu app.js içine koyup node app.js çalıştırın:
import axios from 'axios';
const res = await axios.get('https://httpbin.org/ip');
console.log(res.data);
Yanıtta gerçek IP adresinizi görmelisiniz. Bu sizin başlangıç noktanızdır — proxy çalışmaya başladığında aynı istek bu kez proxy’nin IP’sini döndürmelidir.
Proxy’yi açmadan önce bu yanıtı not edin; böylece sonraki adımda proxylı istekle karşılaştırabileceğiniz somut bir referansınız olur.
Axios Gerçekten HTTPS Proxy’lerini Destekliyor mu? (Netleştirelim)
Kısa cevap: evet, mevcut kararlı sürümde destekliyor. Axios 1.19.0, bir HTTP proxy arkasındaki HTTPS hedefler için CONNECT tünellemesini dokümante ediyor. npm indirme API’si 31 Temmuz–6 Ağustos 2026 arasında 117.890.039 Axios indirimi kaydetti; bu sayı eski bir gösterge olsa da kütüphanenin ne kadar yaygın kullanıldığını gösteriyor. Bir HTTPS URL’ye proxy üzerinden gittiğinizde güncel Axios, tüneli kurmak için CONNECT isteği gönderir ve TLS el sıkışması doğrudan gerçek hedef uç nokta ile gerçekleşir. Bunu bizzat test ettim: yerel HTTP proxy, kendi imzalı sertifikaya sahip yerel bir HTTPS hedef ve proxy üzerindeki CONNECT sayacı tam beklendiği gibi arttı.
Peki neden hemen her forum başlığında “Axios HTTPS proxy bozuk” ifadesi karşımıza çıkıyor? Bunun birkaç gerçek nedeni var:
- Eski Axios sürümleri. İnsanların paylaştığı GitHub sorunları çoğu zaman yıllar öncesine ait; belirli sürüm ve yapılandırmalara özgü davranışları anlatıyorlar, güncel Axios’a genellenmemeliler.
- CONNECT desteği olmayan proxy sunucuları. Bu durumda tünel kurulamıyor ve Axios’un hata vermesi gerekir; IP atlaması varsayımı yapmadan önce gerçek rotayı ve hatayı yakalayın.
proxyayarını yanlış anlamak.proxyseçeneği bir forward-proxy talimatıdır; “hangi olursa olsun her şeyi bu ajan üzerinden geçir” gibi genel bir anahtar değildir.
Chromium, 2023’te büyük platformlardaki Chrome gezintilerinin yüzde 90’ından fazlasının HTTPS kullandığını bildirdi. Bu, tüm web için güncel bir sayım değil; ama HTTPS hedef davranışının bu rehberin merkezinde neden yer aldığını açıklıyor. Eski bir Axios sürümündeyseniz, sorunu güncel hatta yeniden üretin; tarihsel bir problemin hâlâ geçerli olduğunu varsaymayın. Yükseltmeyi kendi uygulamanızda üretime almadan önce test edin.
Hâlâ Açık Bir Agent İstediğiniz Durumlar
Yerleşik proxy yapılandırması, tek ve sabit, klasik bir proxy için yeterlidir. Ama istek bazında kontrol, proxy rotasyonu ya da SOCKS desteğine ihtiyaç duyduğunuz anda yetersiz kalır — Axios’un yerleşik seçeneği bunun için tasarlanmamıştır. İşte burada HttpsProxyAgent devreye girer; aşağıda bunu anlatacağım. Yerleşik seçeneği “tek proxy, tek amaç için yeterince iyi” olarak düşünün; agent tabanlı yaklaşımı ise “üretimde gerçekten isteyeceğiniz yapı” olarak görün.
Node v24 ve v22.21+ Environment Proxy Yolu
Yeni Node sürümleri, NODE_USE_ENV_PROXY=1 ya da --use-env-proxy bayrağıyla etkinleşen yerleşik bir environment-proxy modu ile gelir. Node’un kendi CLI dokümantasyonuna göre bu özellik v24.0.0’da geldi ve v22.21.0’a geriye taşındı — yani “Node 22+” teknik olarak doğru değil; tam olarak v22.21.0 ve sonrası kastedilir. Daha eski bir Node 22 yamasındaysanız bu bayrak hiç mevcut değildir.
Güncel Axios zaten proxy-from-env bağımlılığı üzerinden HTTP_PROXY, HTTPS_PROXY ve NO_PROXY değişkenlerini çözümler; yani bu güncel Axios yolunda global-agent gerekmez. Node’un kendi env-proxy modu da etkinse, yönlendirme kararında iki katman rol oynayabilir.
Axios dokümanları, proxyEnv özelliğine sahip bir agent bulunan Node sürümlerinde Axios’un kendi çözümlemesi yerine Node’un davranışını devreye aldığını belirtir. Pratikte bu, tek bir sistem seçip onunla devam etmeniz gerektiği anlamına gelir:
- Node’un yönetmesine izin vermek: bayrağı açın, Axios
proxyayarını kullanmayın, env değişkenleri işi halletsin. - Axios’un yönetmesine izin vermek: Node bayrağını açmayın, Axios’un kendi env değişkeni çözümlemesi devreye girsin.
- Tam manuel kontrol almak:
proxy: falsedeğerini açıkça set edin ve kendihttpsAgentdeğerini verin — bu, her iki otomatik sistemi de tamamen baypas eder. Rotasyon ya da istek bazlı mantığa geçtiğinizde bunu öneririm.
Axios tarafındaki çözümlemeyi doğrudan test ettim: Alt işlemin ortamına HTTP_PROXY koyduğumda istek yerel proxy’mden geçti; buna karşılık eşleşen bir NO_PROXY girdisi ekleyince sonraki istek doğru şekilde proxy’yi atladı. Yani environment-variable yolu artık gerçekten kutudan çıktığı hâliyle çalışıyor — dikkat etmeniz gereken şey, iki modun birden aynı anda devreye girmesi.
Axios’a Proxy Bağlamanın 5 Yolu (Karşılaştırmalı)
Koda geçmeden önce genel görünüm şöyle. Bu yöntemlerin her birini gerçek bir yerel proxy kurulumu üzerinde test ettim; sadece dokümantasyon okuyarak değil.
| Yöntem | HTTPS Desteği | Kimlik Doğrulama | İstek Bazında Kontrol | Rotasyona Uygunluk | Karmaşıklık |
|---|---|---|---|---|---|
Satır içi proxy seçeneği | ✅ (güncel Axios) | ✅ | ✅ | ❌ | Düşük |
axios.create() varsayılanları | ✅ (güncel Axios) | ✅ | ❌ (tüm instance için) | ❌ | Düşük |
Ortam değişkenleri (HTTP_PROXY/HTTPS_PROXY) | ✅ | ✅ | ❌ | ❌ | Düşük |
httpsAgent + HttpsProxyAgent | ✅ | ✅ | ✅ | ⚠️ (manuel) | Orta |
| Request interceptor + agent havuzu | ✅ | ✅ | ✅ | ✅ | Orta-Yüksek |
Tek seferlik bir scriptte ve tek bir proxy’ye gidecekseniz satır içi seçeneği kullanın. Bir modüldeki her isteğin aynı proxy’den geçmesi gerekiyorsa axios.create() tercih edin. Altyapı ekibiniz proxy yönlendirmesini merkezî olarak yönetiyorsa ve siz yalnızca bunu devralmak istiyorsanız environment değişkenlerini kullanın. Yerleşik yapılandırmanın veremediği bir kontrol gerekiyorsa açık bir agent’a geçin — “kontrol” kelimesi “rotasyon” anlamına gelmeye başladığı anda ise interceptor desenine geçin.

Adım Adım: Axios’ta Temel Proxy Yapılandırması
En basit kurulum, isteğin üzerinde doğrudan yerleşik proxy nesnesini kullanır:
import axios from 'axios';
const res = await axios.get('https://httpbin.org/ip', {
proxy: {
host: '203.0.113.10',
port: 8080,
protocol: 'http',
},
});
console.log(res.data);
Bunu çalıştırdığınızda yanıtta kendi IP’niz yerine proxy’nin IP’sini görmelisiniz. Gerçek bir proxy ile yerelde test yapıyorsanız bu genellikle bir saniyeden kısa sürer — tek bir isteği denemek için sistem genelinde proxy ayarıyla uğraşmaya kıyasla çok daha pratiktir; çünkü bu tür işler on beş dakikanızı kolayca yer.
Bu yanıtı başlangıç noktanızla karşılaştırın. Başarılı bir test, daha önce kaydettiğiniz origin IP yerine proxy’nin genel IP adresini göstermelidir.
Tüm Instance İçin Varsayılanlar için axios.create() Kullanımı
Belirli bir modüldeki her istek aynı proxy üzerinden gitmeliysa, yapılandırmayı tekrar etmek yerine bir instance içine gömün:
const client = axios.create({
proxy: {
host: '203.0.113.10',
port: 8080,
},
timeout: 15_000,
});
const res = await client.get('https://httpbin.org/ip');
Tek bir istekteki proxy: false override’ının instance varsayılanını temiz biçimde baypas ettiğini doğruladım — isteklerinizin yüzde 95’i proxy’ye ihtiyaç duyuyor ama birkaçı (mesela bir sağlık kontrolü ping’i) gerekmiyorsa çok faydalı.
Proxy’yi Environment Değişkenleriyle Ayarlama
Merkezî olarak yönetilen yönlendirme için — örneğin Docker konteynerleri ya da ops ekibinin proxy env değişkenlerini zaten ayarladığı CI ortamları — Axios yapılandırmasına hiç dokunmanıza gerek yok:
export HTTP_PROXY=http://203.0.113.10:8080
export HTTPS_PROXY=http://203.0.113.10:8080
export NO_PROXY=localhost,127.0.0.1
Güncel Axios bu değişkenleri global-agent olmadan okur. Sadece yukarıdaki Node sürüm sınırını unutmayın: NODE_USE_ENV_PROXY da aktifse, yönlendirme sahibini açıkça belirleyin ve dağıtılan çalışma zamanında NO_PROXY davranışını test edin.
Adım Adım: httpsAgent ile HTTPS Proxy Kurulumu (Gerçek Kontrol İçin)
“Bir proxy, sonsuza kadar”dan fazlasına ihtiyaç duyduğunuz anda aslında önereceğim kurulum budur. Güncel agent paketini yükleyin:
npm install https-proxy-agent
https-proxy-agent 9.1.0, Node 20 veya daha yenisini ister ve hedef bağlantıyı tünellemeden önce proxy’nize doğru bir CONNECT isteği yollar.
import axios from 'axios';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://203.0.113.10:8080');
const client = axios.create({
proxy: false, // Axios’un yerleşik çözümlemesi de devreye girip karışmasın
httpsAgent: agent,
timeout: 15_000,
});
const res = await client.get('https://httpbin.org/ip');
console.log(res.data);
Yönlendirmeyi açık bir agent üstleniyorsa proxy: false kullanın. Bu, yapılandırmayı netleştirir ve Axios’un yerleşik ya da environment-proxy çözümlemesinin verilen agent ile rekabete girmesini engeller.
Proxy Kimlik Doğrulaması Ekleme
Kimlik bilgilerini doğrudan proxy URL’sine gömün:
const agent = new HttpsProxyAgent('http://myuser:mypassword@203.0.113.10:8080');
Şifrenizde özel karakterler varsa — genelde baş belası olanlar @, :, # — URL oluşturmadan önce bunları yüzde kodlamasıyla encode edin ya da her bileşeni encodeURIComponent() ile birleştirin. Şifredeki çıplak bir @, ayrıştırıcı tarafından host bölümünün başlangıcı sanılır ve size kodlamayla ilgisi belli olmayan bir bağlantı hatası döner.
Axios ile SOCKS5 Proxy Kullanımı
SOCKS proxy’ler HttpsProxyAgent ile uyumlu değildir — protokol için farklı bir agent gerekir:
npm install socks-proxy-agent
import { SocksProxyAgent } from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5://myuser:mypass@203.0.113.10:1080');
const client = axios.create({
proxy: false,
httpsAgent: agent,
});
socks-proxy-agent 10.1.0 da Node 20+ ister. SOCKS5, yalnızca SOCKS gateway açan kurumsal ağlarda ya da düz HTTP proxy’lerin sunduğundan daha esnek protokol desteği veren sağlayıcılarda kullanmaya değer.
Axios Request Interceptor’larıyla Proxy Rotasyonu
Çağıran kodunuzun içinde rastgele proxy seçmek tek seferlik bir script için işe yarar. Yüzlerce istek atmaya başladığınız anda dağılıp gider; çünkü hangi proxy’lerin öldüğünü takip eden merkezi bir yer, retry mantığı ve proxy seçme kodunun her yere kopyalanmasını engelleyen bir yapı yoktur. Axios interceptor sistemi bu mantığı test edilebilir tek bir evde toplar; bu makaledeki SERP incelemesinde yer alan beş rakip rehberin hiçbiri bu deseni kullanmadı.

Proxy Havuzu Oluşturma
import axios, { AxiosError, InternalAxiosRequestConfig } from 'axios';
import { HttpsProxyAgent } from 'https-proxy-agent';
class ProxyPool {
private agents: HttpsProxyAgent<string>[];
private index = 0;
constructor(proxyUrls: string[]) {
this.agents = proxyUrls.map((url) => new HttpsProxyAgent(url));
}
next(): HttpsProxyAgent<string> {
const agent = this.agents[this.index];
this.index = (this.index + 1) % this.agents.length;
return agent;
}
}
const pool = new ProxyPool([
'http://user:pass@proxy1.example.com:8080',
'http://user:pass@proxy2.example.com:8080',
]);
const client = axios.create({ timeout: 15_000 });
client.interceptors.request.use((config: InternalAxiosRequestConfig) => {
config.proxy = false;
config.httpsAgent = pool.next();
return config;
});
Bunu iki yerel proxy üzerinde test ettim ve isteklerin sırayla değiştiğini doğruladım — proxy A, sonra proxy B, sonra tekrar A. Axios request interceptor’larını son giren ilk çıkar mantığıyla çalıştırır; dolayısıyla başka interceptor’larınız varsa (auth header’ları, loglama vb.), sıra sandığınızdan daha önemlidir.
Retry Korumalı Bir Response Interceptor Ekleme
Çoğu kendi kendine yazılmış rotasyon scriptinin dağıldığı nokta burasıdır. Sınırsız bir havuzda her hatada körlemesine yeniden denemek, tek bir hatalı isteği zincirleme bir probleme çevirebilir — özellikle POST gibi idempotent olmayan metotlarda; çünkü yeniden denemek, istemediğiniz bir yan etkiyi iki kez üretir.
type RetryableConfig = InternalAxiosRequestConfig & {
__proxyRetryCount?: number;
};
client.interceptors.response.use(
undefined,
async (error: AxiosError) => {
const config = error.config as RetryableConfig | undefined;
if (!config) throw error;
const method = String(config.method ?? 'get').toUpperCase();
config.__proxyRetryCount ??= 0;
if (method !== 'GET' || config.__proxyRetryCount >= 1) throw error;
config.__proxyRetryCount += 1;
config.proxy = false;
config.httpsAgent = pool.next();
return client.request(config);
}
);
Bunu bilerek bozuk bir proxy üzerinde test ettim ve tam olarak bir kez, alternatif agent ile retry yapıldığını doğruladım — sonsuz döngü yok, POST isteğinde retry yok. İhtiyacınız olan sınır budur: Hangi isteklerin güvenle tekrar oynatılabileceği konusunda dürüst bir retry politikası; “olana kadar tekrar dene” tarzı bir hile değil.

Hata Teşhis Tablosu: Her Sorunu Çözümüyle Eşleştirin
Bunu yer imlerinize ekleyin. Bunlar, Axios GitHub sorunlarında ve Stack Overflow başlıklarında gerçekten görülen hatalardır; hayali olanlar değil.
| Hata / Belirti | Muhtemel Neden | Çözüm |
|---|---|---|
ECONNREFUSED | Yanlış host/port ya da proxy sunucusu kapalı | Axios koduna dokunmadan önce curl -x http://host:port target-url ile doğrulayın |
407 Proxy Authentication Required | Eksik ya da yanlış kimlik bilgileri | proxy yapılandırmasına auth: { username, password } ekleyin ya da HttpsProxyAgent URL’sine kimlik bilgilerini gömün |
403 Forbidden | Origin ya da WAF isteği veya proxy IP’sini reddetti | Sitenin erişim politikasını, kimlik doğrulamasını ve istek hızını kontrol edin; farklı bir header ya da IP’yi engeli aşma izni gibi yorumlamayın |
| Yanıtta gerçek IP’niz görünüyor | NO_PROXY, proxy:false, açık bir direct agent ya da tarihsel/sürüme özgü bir yapılandırma proxy’yi baypas ediyor olabilir | Hangi katmanın yönlendirmeyi yönettiğini inceleyin; yolu kontrollü bir IP uç noktasıyla doğrulayın ve gerekiyorsa açık agent kullanın |
ETIMEDOUT | Bağlantı ya da yanıt süresi yapılandırılmış timeout’u aştı | Zamanın nerede harcandığını ölçün; timeout’u yalnızca iş yükü bunu haklı çıkarıyorsa artırın, aksi halde sağlıksız rotayı değiştirin ya da soğumaya bırakın |
Yanıt ortasında ECONNRESET | Proxy, ağ ya da origin bağlantıyı kapattı | Hata veren sıçramayı kaydedin; yalnızca güvenle yeniden oynatılabilen istekleri, sınırlı bir bütçeyle tekrar deneyin |
Nginx arkasında 502 Bad Gateway | Nginx proxy_pass yanlış yapılandırılmış ya da Axios timeout’u Nginx ile uyumsuz | proxy_connect_timeout ve proxy_read_timeout ayarlarını kontrol edin (ikisi de varsayılan olarak 60 saniyedir) ve bunları Axios timeout değeriyle hizalayın |
ERR_TLS_CERT_ALTNAME_INVALID | Hedef için yanlış agent türü ya da self-signed sertifika | Protokole uygun agent kullandığınızı doğrulayın; yalnızca yerel testte rejectUnauthorized: false kullanın — üretimde asla |
Hızlı Sorun Giderme Kontrol Listesi
Bir şey bozulduğunda ve nedenini çıkaramadığınızda şu sırayla ilerleyin:
- Proxy’yi doğrudan
curl -x http://host:port https://your-target.comile test edin. Başarısız olursa Axios’a dokunmadan önce proxy bağlantısını, kimlik doğrulamayı ve hedefi inceleyin. Geçerse Axios yolu ayrıca doğrulanmalıdır. - Gerçekte hangi Axios ve Node sürümlerini çalıştırdığınızı doğrulayın; tarihsel raporları, aynı sürüm ve yapılandırma ile karşılaştırmadan düzeltmelerini uygulamayın.
- Proxy’yi hangi sistemin çözdüğünü bulun — yerleşik Axios yapılandırması mı, Axios’un env değişkeni çözümlemesi mi, Node’un yerleşik env-proxy modu mu, yoksa açık bir agent mı. Aynı isteği asla birden fazla sisteme sahip bırakmayın.
NO_PROXYiçinde yanlışlıkla eşleşen host adları olup olmadığını kontrol edin.- Açık bir agent kullanıyorsanız, Axios’un çift taraflı işlemeye kalkmaması için
proxy: falsedeğerinin set edildiğini doğrulayın.
Tüm Proxy İşlerini Elle Kurmaktan Ne Zaman Vazgeçmeli?
Yukarıdakilerin hepsi, gerçek amacınız rastgele trafiği yönlendirmekse gerçekten yararlıdır — kurumsal ağ testleri, bir uygulamanın coğrafi testleri ya da kontrollü ağ çıkışı gibi. Ancak pek çok geliştirici “Axios proxy nasıl kurulur?” diye arar çünkü aslında istedikleri şey bir web sitesinden veri çekmektir; proxy ise sadece o hedefe ulaşmanın aracıdır.
Eğer durum buysa, gerçekten bir proxy’ye mi ihtiyacınız var, yoksa altyapıyı sizin yerinize yöneten bir scraping API mi işinizi daha iyi görür diye sormakta fayda var. Thunderbit’in Open API’si, bir URL ve bir şema alıp yapılandırılmış JSON döndürür — ham HTML ayrıştırma yok, agent kütüphaneleri yok, bakımı yapılacak bir proxy havuzu yok. /extract endpoint’i JavaScript ile render edilen sayfaları, anti-bot önlemlerini ve CAPTCHA’ları sunucu tarafında ele alır; sadece sayfayı temiz Markdown’a çevirmek istiyorsanız daha hafif olan /distill endpoint’i vardır. Ayrıca Claude veya Cursor gibi kod asistanlarının proxy yapılandırmasına hiç dokunmadan görev sırasında yapılandırılmış veri çekebilmesi için thunderbit_extract ve thunderbit_suggest_fields gibi araçlar sunan bir MCP sunucusu ve terminal ile CI iş akışları için bir CLI da bulunur.
| Konu | Kendin Yap Axios + Proxy’ler | Thunderbit API/MCP/CLI |
|---|---|---|
| Proxy kaynağı ve rotasyonu | Siz yönetirsiniz | Sunucu tarafında yönetilir |
| Tarayıcı ve erişim zorlukları | Tarayıcı/ağ katmanını siz işletirsiniz | Hizmet, belgelenen yetenekleri dahilinde yönetir |
| JS ile render edilen sayfalar | Headless browser gerekir | renderMode: full |
| Çıktı formatı | Ham HTML → siz ayrıştırırsınız | Şema ile yapılandırılmış JSON |
| Siteler değiştiğinde bakım | Ayrıştırma/seçicileri siz korursunuz | Yönetilen çıkarım katmanı, uygulama tarafındaki bakımın bir kısmını azaltır |
Dürüst çerçeve şu: Trafiği test ya da kurumsal ağ için yönlendirmeniz gerekiyorsa, bunların hiçbiri Axios ve proxy yapılandırmasının yerini tutmaz. Teslim edeceğiniz şey yapılandırılmış web verisiyse, API-first yaklaşım uygulamanızın üstlendiği proxy, tarayıcı ve ayrıştırma kodunu azaltabilir. 7 Ağustos 2026 tarihinde erişim sırasında, Thunderbit’in API rate limit dokümantasyonu Free katmanı için dakikada 10 istek ve 2 eşzamanlı istek listeliyordu. Bunları zamana duyarlı API limitleri olarak değerlendirin ve üretimde bunlara güvenmeden önce sayfayı yeniden kontrol edin.
Kapanış
Buradaki temel ders, eski birçok rehberin söylediği şeye ters düşüyor: Güncel Axios, kayıtlarda görülen yerel testte HTTPS hedefi için CONNECT tünellemesini doğru şekilde kullandı ve bunu dokümante ediyor. Tarihsel hatalar hâlâ önemlidir; ancak sürüm ve yapılandırma bağlamı gerekir. Yerleşik yapılandırma düşük karmaşıklıkla iyi bir başlangıçtır; istek bazında kontrol, SOCKS desteği ya da rotasyon gerektiğinde proxy: false ile eşleştirilmiş açık bir HttpsProxyAgent (veya SocksProxyAgent) daha net sahiplik sağlar. Üretimde bir havuz üzerinden rotasyon yapıyorsanız, request ve response interceptor’ları bunu merkezi ve test edilebilir şekilde yönetmek için iyi bir yerdir — sadece retry mantığınızda döngü koruması olduğundan ve yalnızca gerçekten güvenle tekrar oynatılabilen istekleri yeniden denediğinizden emin olun.
Bir sonraki sefer bir proxy kurulumu sabaha karşı 2’de anlaşılmaz bir hata verdiğinde, yukarıdaki teşhis tablosunu yer imlerinizde tutun. Ve eğer proxy altyapısını debug etmek, almaya çalıştığınız veriyi gerçekten kullanmaktan daha fazla zamanınızı yiyorsa, API-first çıkarım aracının asıl sorunu altyapıdan çok daha hızlı çözüp çözmeyeceğine bakmaya değer.
Sık Sorulan Sorular
Axios HTTPS proxy’lerini yerleşik olarak destekliyor mu? Güncel Axios’ta, klasik bir HTTP proxy için evet: mevcut dokümantasyon HTTPS hedefler için CONNECT tünellemesini anlatıyor ve Axios 1.19.0, kaydedilen yerel testte bu rotayı geçti. Tarihsel sürümler ve belirli proxy yapılandırmaları gerçek hatalar üretti; bu yüzden mutlak başarı ya da mutlak başarısızlık varsaymak yerine tam sürümü ve proxy’yi doğrulayın.
Axios’ta proxy rotasyonunu nasıl yaparım?
Her isteğin çıkmadan önce farklı bir httpsAgent atanması için bir request interceptor kullanın ve bunu, başarısız istekleri farklı bir proxy üzerinden tekrar deneyen bir response interceptor ile eşleştirin. Retry mantığını sınırlı tutun — bir retry ve yalnızca GET gibi idempotent metotlar için — böylece tekrar oynatılmaması gereken bir isteği yanlışlıkla tekrar çalıştırmazsınız.
Neden Axios proxy’m gerçek IP’mi gösteriyor?
NO_PROXY, proxy:false, açık bir direct agent ya da dağıtım ortamına özgü yönlendirme proxy’yi baypas etmiş olabilir. Axios/Node sürümlerini kaydedin ve proxy’yi cURL ile bağımsız olarak test edin. Eğer istek bazında tartışmasız yönlendirme gerekiyorsa, proxy:false ile HttpsProxyAgent kullanın ve gözlenen IP’yi kontrollü bir uç noktada doğrulayın.
Axios ile SOCKS5 proxy kullanabilir miyim?
Evet, socks-proxy-agent paketi üzerinden. SOCKS URL’nizle bir SocksProxyAgent örneği oluşturun ve Axios yapılandırmasında httpsAgent olarak verin — yalnızca HttpsProxyAgent de göndermediğinizden emin olun; çünkü iki protokol farklı agent türleri kullanır.
Axios’ta proxy seçeneği ile httpsAgent arasındaki fark nedir?
proxy seçeneği, Axios’un tek ve sabit bir proxy için sunduğu yerleşik yapılandırmadır ve güncel sürümlerde basit kullanım senaryoları için gayet uygundur. httpsAgent ise HttpsProxyAgent ya da SocksProxyAgent gibi özel bir Node.js agent’ı kabul eder; böylece yönlendirme, kimlik doğrulama ve rotasyon üzerinde, yerleşik seçeneğin tasarlanmadığı doğrudan istek bazlı kontrol sağlarsınız.


