Node.js Axios ile Proxy Kullanımı: Eksiksiz Rehber
HTTP istekleri için Node.js'te Axios ile GProxy proxy'lerini yapılandırın. Proxy yapılandırması, HTTPS desteği, rotasyon kalıpları ve hata yönetimi ele alınır.
Ön koşullar
- ✓[
- ✓"
- ✓N
- ✓o
- ✓d
- ✓e
- ✓.
- ✓j
- ✓s
- ✓
- ✓1
- ✓6
- ✓+
- ✓
- ✓k
- ✓u
- ✓r
- ✓u
- ✓l
- ✓u
- ✓"
- ✓,
- ✓
- ✓"
- ✓A
- ✓x
- ✓i
- ✓o
- ✓s
- ✓
- ✓k
- ✓u
- ✓r
- ✓u
- ✓l
- ✓u
- ✓
- ✓(
- ✓n
- ✓p
- ✓m
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓
- ✓a
- ✓x
- ✓i
- ✓o
- ✓s
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓A
- ✓k
- ✓t
- ✓i
- ✓f
- ✓
- ✓p
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓p
- ✓a
- ✓k
- ✓e
- ✓t
- ✓i
- ✓
- ✓o
- ✓l
- ✓a
- ✓n
- ✓
- ✓G
- ✓P
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓h
- ✓e
- ✓s
- ✓a
- ✓b
- ✓ı
- ✓"
- ✓,
- ✓
- ✓"
- ✓T
- ✓e
- ✓m
- ✓e
- ✓l
- ✓
- ✓N
- ✓o
- ✓d
- ✓e
- ✓.
- ✓j
- ✓s
- ✓
- ✓v
- ✓e
- ✓
- ✓a
- ✓s
- ✓y
- ✓n
- ✓c
- ✓/
- ✓a
- ✓w
- ✓a
- ✓i
- ✓t
- ✓
- ✓b
- ✓i
- ✓l
- ✓g
- ✓i
- ✓s
- ✓i
- ✓"
- ✓]
Adım adım kurulum
[
{
"
T
I
T
L
E
"
:
"
A
X
I
O
S
'
U
K
U
R
U
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
A
X
I
O
S
'
U
V
E
I
S
T
E
Ğ
E
B
A
Ğ
L
I
S
O
C
K
S
5
D
E
S
T
E
Ğ
I
N
I
K
U
R
U
N
"
,
"
C
O
D
E
"
:
"
N
P
M
I
N
S
T
A
L
L
A
X
I
O
S
\
N
#
S
O
C
K
S
5
D
E
S
T
E
Ğ
I
I
Ç
I
N
:
\
N
N
P
M
I
N
S
T
A
L
L
S
O
C
K
S
-
P
R
O
X
Y
-
A
G
E
N
T
"
}
,
{
"
T
I
T
L
E
"
:
"
H
T
T
P
P
R
O
X
Y
'
Y
I
Y
A
P
I
L
A
N
D
I
R
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
G
P
R
O
X
Y
P
R
O
X
Y
'
S
I
N
I
A
X
I
O
S
I
S
T
E
K
Y
A
P
I
L
A
N
D
I
R
M
A
S
I
N
A
E
K
L
E
Y
I
N
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
A
X
I
O
S
=
R
E
Q
U
I
R
E
(
'
A
X
I
O
S
'
)
;
\
N
\
N
C
O
N
S
T
R
E
S
P
O
N
S
E
=
A
W
A
I
T
A
X
I
O
S
.
G
E
T
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
,
{
\
N
P
R
O
X
Y
:
{
\
N
H
O
S
T
:
'
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
'
,
\
N
P
O
R
T
:
1
0
0
0
,
\
N
A
U
T
H
:
{
U
S
E
R
N
A
M
E
:
'
Y
O
U
R
_
U
S
E
R
'
,
P
A
S
S
W
O
R
D
:
'
Y
O
U
R
_
P
A
S
S
'
}
\
N
}
\
N
}
)
;
\
N
C
O
N
S
O
L
E
.
L
O
G
(
R
E
S
P
O
N
S
E
.
D
A
T
A
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
S
O
C
K
S
5
P
R
O
X
Y
'
Y
I
K
U
R
U
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
S
O
C
K
S
5
D
E
S
T
E
Ğ
I
I
Ç
I
N
S
O
C
K
S
-
P
R
O
X
Y
-
A
G
E
N
T
K
U
L
L
A
N
I
N
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
{
S
O
C
K
S
P
R
O
X
Y
A
G
E
N
T
}
=
R
E
Q
U
I
R
E
(
'
S
O
C
K
S
-
P
R
O
X
Y
-
A
G
E
N
T
'
)
;
\
N
\
N
C
O
N
S
T
A
G
E
N
T
=
N
E
W
S
O
C
K
S
P
R
O
X
Y
A
G
E
N
T
(
'
S
O
C
K
S
5
:
/
/
U
S
E
R
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
1
'
)
;
\
N
C
O
N
S
T
R
E
S
P
O
N
S
E
=
A
W
A
I
T
A
X
I
O
S
.
G
E
T
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
,
{
\
N
H
T
T
P
S
A
G
E
N
T
:
A
G
E
N
T
,
H
T
T
P
A
G
E
N
T
:
A
G
E
N
T
\
N
}
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
Y
E
N
I
D
E
N
K
U
L
L
A
N
I
L
A
B
I
L
I
R
I
S
T
E
M
C
I
O
L
U
Ş
T
U
R
U
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
R
O
X
Y
V
A
R
S
A
Y
I
L
A
N
L
A
R
I
Y
L
A
B
I
R
A
X
I
O
S
Ö
R
N
E
Ğ
I
O
L
U
Ş
T
U
R
U
N
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
C
L
I
E
N
T
=
A
X
I
O
S
.
C
R
E
A
T
E
(
{
\
N
P
R
O
X
Y
:
{
\
N
H
O
S
T
:
'
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
'
,
\
N
P
O
R
T
:
1
0
0
0
,
\
N
A
U
T
H
:
{
U
S
E
R
N
A
M
E
:
'
Y
O
U
R
_
U
S
E
R
'
,
P
A
S
S
W
O
R
D
:
'
Y
O
U
R
_
P
A
S
S
'
}
\
N
}
,
\
N
T
I
M
E
O
U
T
:
3
0
0
0
0
\
N
}
)
;
\
N
\
N
C
O
N
S
T
D
A
T
A
=
A
W
A
I
T
C
L
I
E
N
T
.
G
E
T
(
'
H
T
T
P
S
:
/
/
E
X
A
M
P
L
E
.
C
O
M
'
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
Y
E
N
I
D
E
N
D
E
N
E
M
E
I
N
T
E
R
C
E
P
T
O
R
'
I
E
K
L
E
Y
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
R
O
X
Y
H
A
T
A
L
A
R
I
N
I
O
T
O
M
A
T
I
K
Y
E
N
I
D
E
N
D
E
N
E
M
E
Y
L
E
Y
Ö
N
E
T
I
N
"
,
"
C
O
D
E
"
:
"
C
L
I
E
N
T
.
I
N
T
E
R
C
E
P
T
O
R
S
.
R
E
S
P
O
N
S
E
.
U
S
E
(
\
N
R
E
S
P
O
N
S
E
=
>
R
E
S
P
O
N
S
E
,
\
N
A
S
Y
N
C
E
R
R
O
R
=
>
{
\
N
I
F
(
E
R
R
O
R
.
R
E
S
P
O
N
S
E
?
.
S
T
A
T
U
S
=
=
=
4
0
7
|
|
E
R
R
O
R
.
C
O
D
E
=
=
=
'
E
C
O
N
N
R
E
S
E
T
'
)
{
\
N
R
E
T
U
R
N
C
L
I
E
N
T
.
R
E
Q
U
E
S
T
(
E
R
R
O
R
.
C
O
N
F
I
G
)
;
/
/
Y
E
N
I
D
E
N
D
E
N
E
\
N
}
\
N
T
H
R
O
W
E
R
R
O
R
;
\
N
}
\
N
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
K
U
R
U
L
U
M
U
T
E
S
T
E
D
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
R
O
X
Y
'
N
I
N
D
O
Ğ
R
U
Y
Ö
N
L
E
N
D
I
R
D
I
Ğ
I
N
I
D
O
Ğ
R
U
L
A
Y
I
N
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
R
E
S
=
A
W
A
I
T
C
L
I
E
N
T
.
G
E
T
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
)
;
\
N
C
O
N
S
O
L
E
.
L
O
G
(
'
P
R
O
X
Y
I
P
:
'
,
R
E
S
.
D
A
T
A
.
O
R
I
G
I
N
)
;
"
}
]
Kod örnekleri
Axios ile Neden Proxy Kullanmalı?
Axios, haftada 100 milyonun üzerinde npm indirmesiyle Node.js ve tarayıcılar için en popüler HTTP istemcisidir. Axios'a GProxy proxy'leri eklemek; web scraping için IP rotasyonu, farklı konumlardan API erişimi ve anonim istek yönetimi sağlar. GProxy'nin 10M+ residential IP'si ve 150+ ülke kapsamı, Axios'un proxy yapılandırmasıyla sorunsuz çalışır.
Temel Proxy Yapılandırması
Axios, yerleşik proxy yapılandırma seçeneğiyle HTTP proxy'lerini destekler. Proxy sunucusunu, portu ve kimlik doğrulama bilgilerini doğrudan istek yapılandırmasına veya varsayılan olarak geçin. HTTP proxy üzerinden HTTPS hedeflerine giderken Axios, CONNECT tünelini otomatik olarak yönetir.
SOCKS5 Proxy Desteği
Axios SOCKS5'i doğrudan desteklemez, ancak socks-proxy-agent paketiyle ekleyebilirsiniz. Bir SOCKS5 agent oluşturup Axios yapılandırmasında httpsAgent olarak geçin. Bu, GProxy'nin SOCKS5 uç noktalarıyla çalışır.
Proxy Mantığı için İstek Interceptor'ları
Axios interceptor'ları proxy rotasyon mantığı, hata durumunda yeniden deneme ve loglama eklemenizi sağlar. Proxy'leri dinamik olarak atamak için bir istek interceptor'ı, proxy hatalarını yönetip farklı bir IP ile yeniden denemek için bir yanıt interceptor'ı ekleyin.
Eşzamanlı İstekler
Node.js'in asenkron yapısı, proxy üzerinden eşzamanlı istekler için idealdir. Eşzamanlılığı kontrol etmek için Promise.all() veya p-limit kullanın. GProxy'nin backconnect uç noktası üzerinden yapılan her istek benzersiz bir IP alır, bu yüzden eşzamanlı istekler doğal olarak rotasyona girer.
Hata Yönetiminde En İyi Uygulamalar
Proxy'ye özgü hatalar özel ele alma gerektirir: 407 kimlik doğrulama hatası, ECONNREFUSED proxy'ye ulaşılamadığı, ETIMEDOUT ise proxy'nin veya hedefin yavaş olduğu anlamına gelir. Uygun zaman aşımları belirleyin ve üretim güvenilirliği için üstel geri çekilmeli (exponential backoff) yeniden deneme mantığı uygulayın.
Kullanım senaryoları
[
{
"
T
I
T
L
E
"
:
"
A
P
I
V
E
R
I
T
O
P
L
A
M
A
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
I
P
B
A
Ş
I
N
A
H
I
Z
S
I
N
I
R
I
U
Y
G
U
L
A
Y
A
N
A
P
I
'
L
E
R
D
E
N
R
O
T
A
S
Y
O
N
L
U
P
R
O
X
Y
'
L
E
R
L
E
V
E
R
I
T
O
P
L
A
Y
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
F
I
Y
A
T
İ
Z
L
E
M
E
S
E
R
V
I
S
L
E
R
I
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
E
R
A
K
E
N
D
E
C
I
L
E
R
I
F
A
R
K
L
I
K
O
N
U
M
L
A
R
D
A
N
S
O
R
G
U
L
A
Y
A
N
F
I
Y
A
T
T
A
K
I
P
M
I
K
R
O
S
E
R
V
I
S
L
E
R
I
G
E
L
I
Ş
T
I
R
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
W
E
B
H
O
O
K
T
E
S
T
I
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
U
Y
G
U
L
A
M
A
N
I
Z
I
N
G
Ü
V
E
N
L
I
K
F
I
L
T
R
E
L
E
R
I
N
I
D
O
Ğ
R
U
L
A
M
A
K
I
Ç
I
N
F
A
R
K
L
I
I
P
'
L
E
R
D
E
N
T
E
S
T
W
E
B
H
O
O
K
'
L
A
R
I
G
Ö
N
D
E
R
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
M
I
K
R
O
S
E
R
V
I
S
T
E
S
T
I
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
H
I
Z
S
I
N
I
R
L
A
M
A
V
E
C
O
Ğ
R
A
F
I
E
N
G
E
L
L
E
M
E
K
U
R
A
L
L
A
R
I
N
I
D
O
Ğ
R
U
L
A
M
A
K
I
Ç
I
N
K
E
N
D
I
A
P
I
'
L
E
R
I
N
I
Z
I
D
I
Ş
I
P
'
L
E
R
D
E
N
T
E
S
T
E
D
I
N
.
"
}
]
FAQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Başlamaya hazır mısınız?
GProxy ile dakikalar içinde başlayın — residential proxy'ler $0.85/GB'den, IPv6 $0.03/proxy'den, kullandıkça öde.
