Como usar proxies com Node.js Axios: guia completo
Configure proxies GProxy com o Axios no Node.js para requisições HTTP. Aborda configuração de proxy, suporte a HTTPS, padrões de rotação e tratamento de erros.
Pré-requisitos
- ✓[
- ✓"
- ✓N
- ✓o
- ✓d
- ✓e
- ✓.
- ✓j
- ✓s
- ✓
- ✓1
- ✓6
- ✓+
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓a
- ✓d
- ✓o
- ✓"
- ✓,
- ✓
- ✓"
- ✓A
- ✓x
- ✓i
- ✓o
- ✓s
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓a
- ✓d
- ✓o
- ✓
- ✓(
- ✓n
- ✓p
- ✓m
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓
- ✓a
- ✓x
- ✓i
- ✓o
- ✓s
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓C
- ✓o
- ✓n
- ✓t
- ✓a
- ✓
- ✓G
- ✓P
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓c
- ✓o
- ✓m
- ✓
- ✓p
- ✓l
- ✓a
- ✓n
- ✓o
- ✓
- ✓d
- ✓e
- ✓
- ✓p
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓a
- ✓t
- ✓i
- ✓v
- ✓o
- ✓"
- ✓,
- ✓
- ✓"
- ✓C
- ✓o
- ✓n
- ✓h
- ✓e
- ✓c
- ✓i
- ✓m
- ✓e
- ✓n
- ✓t
- ✓o
- ✓
- ✓b
- ✓á
- ✓s
- ✓i
- ✓c
- ✓o
- ✓
- ✓d
- ✓e
- ✓
- ✓N
- ✓o
- ✓d
- ✓e
- ✓.
- ✓j
- ✓s
- ✓
- ✓e
- ✓
- ✓a
- ✓s
- ✓y
- ✓n
- ✓c
- ✓/
- ✓a
- ✓w
- ✓a
- ✓i
- ✓t
- ✓"
- ✓]
Configuração passo a passo
[
{
"
T
I
T
L
E
"
:
"
I
N
S
T
A
L
A
R
O
A
X
I
O
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
I
N
S
T
A
L
E
O
A
X
I
O
S
E
O
S
U
P
O
R
T
E
O
P
C
I
O
N
A
L
A
S
O
C
K
S
5
"
,
"
C
O
D
E
"
:
"
N
P
M
I
N
S
T
A
L
L
A
X
I
O
S
\
N
#
P
A
R
A
S
U
P
O
R
T
E
A
S
O
C
K
S
5
:
\
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
"
:
"
C
O
N
F
I
G
U
R
A
R
O
P
R
O
X
Y
H
T
T
P
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
A
D
I
C
I
O
N
E
O
P
R
O
X
Y
G
P
R
O
X
Y
À
C
O
N
F
I
G
D
E
R
E
Q
U
I
S
I
Ç
Ã
O
D
O
A
X
I
O
S
"
,
"
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
"
:
"
C
O
N
F
I
G
U
R
A
R
O
P
R
O
X
Y
S
O
C
K
S
5
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
U
S
E
O
S
O
C
K
S
-
P
R
O
X
Y
-
A
G
E
N
T
P
A
R
A
S
U
P
O
R
T
E
A
S
O
C
K
S
5
"
,
"
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
"
:
"
C
R
I
A
R
U
M
C
L
I
E
N
T
E
R
E
U
T
I
L
I
Z
Á
V
E
L
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
M
O
N
T
E
U
M
A
I
N
S
T
Â
N
C
I
A
D
O
A
X
I
O
S
C
O
M
O
P
R
O
X
Y
C
O
M
O
P
A
D
R
Ã
O
"
,
"
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
"
:
"
A
D
I
C
I
O
N
A
R
I
N
T
E
R
C
E
P
T
O
R
D
E
R
E
T
R
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
T
R
A
T
E
E
R
R
O
S
D
E
P
R
O
X
Y
C
O
M
R
E
P
E
T
I
Ç
Ã
O
A
U
T
O
M
Á
T
I
C
A
"
,
"
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
)
;
/
/
R
E
P
E
T
I
R
\
N
}
\
N
T
H
R
O
W
E
R
R
O
R
;
\
N
}
\
N
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
T
E
S
T
A
R
A
C
O
N
F
I
G
U
R
A
Ç
Ã
O
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
V
E
R
I
F
I
Q
U
E
S
E
O
P
R
O
X
Y
E
S
T
Á
R
O
T
E
A
N
D
O
C
O
R
R
E
T
A
M
E
N
T
E
"
,
"
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
)
;
"
}
]
Exemplos de código
Por que usar proxies com o Axios?
O Axios é o cliente HTTP mais popular para Node.js e navegadores, com mais de 100 milhões de downloads semanais no npm. Adicionar proxies GProxy ao Axios permite rotação de IP para web scraping, acesso a APIs de diferentes localizações e tratamento anônimo de requisições. Os 10M+ IPs residenciais da GProxy e a cobertura de 150+ países se integram sem atrito à configuração de proxy do Axios.
Configuração básica de proxy
O Axios oferece suporte a proxies HTTP pela opção de configuração proxy nativa. Passe host, porta e credenciais de autenticação do proxy diretamente na config da requisição ou como padrão. Para destinos HTTPS através de um proxy HTTP, o Axios cuida do túnel CONNECT automaticamente.
Suporte a proxy SOCKS5
O Axios não suporta SOCKS5 nativamente, mas você pode adicionar esse suporte com o pacote socks-proxy-agent. Crie um agente SOCKS5 e passe-o como httpsAgent na sua config do Axios. Isso funciona com os endpoints SOCKS5 da GProxy.
Interceptores de requisição para lógica de proxy
Os interceptores do Axios permitem adicionar lógica de rotação de proxy, retry em falhas e logging. Adicione um interceptor de requisição para atribuir proxies dinamicamente e um interceptor de resposta para tratar erros de proxy e repetir com um IP diferente.
Requisições concorrentes
A natureza assíncrona do Node.js o torna perfeito para requisições concorrentes via proxy. Use Promise.all() ou p-limit para controlar a concorrência. Cada requisição pelo endpoint backconnect da GProxy recebe um IP único, então requisições concorrentes rotacionam naturalmente.
Boas práticas de tratamento de erros
Erros específicos de proxy exigem tratamento especial: 407 significa falha de autenticação, ECONNREFUSED significa que o proxy está inacessível e ETIMEDOUT significa que o proxy ou o destino está lento. Defina timeouts adequados e implemente lógica de retry com backoff exponencial para confiabilidade em produção.
Casos de uso
[
{
"
T
I
T
L
E
"
:
"
C
O
L
E
T
A
D
E
D
A
D
O
S
D
E
A
P
I
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
O
L
E
T
E
D
A
D
O
S
D
E
A
P
I
S
Q
U
E
A
P
L
I
C
A
M
L
I
M
I
T
E
S
D
E
T
A
X
A
P
O
R
I
P
U
S
A
N
D
O
P
R
O
X
I
E
S
R
O
T
A
T
I
V
O
S
.
"
}
,
{
"
T
I
T
L
E
"
:
"
S
E
R
V
I
Ç
O
S
D
E
M
O
N
I
T
O
R
A
M
E
N
T
O
D
E
P
R
E
Ç
O
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
R
I
E
M
I
C
R
O
S
S
E
R
V
I
Ç
O
S
D
E
A
C
O
M
P
A
N
H
A
M
E
N
T
O
D
E
P
R
E
Ç
O
S
Q
U
E
C
O
N
S
U
L
T
A
M
V
A
R
E
J
I
S
T
A
S
D
E
D
I
F
E
R
E
N
T
E
S
L
O
C
A
L
I
Z
A
Ç
Õ
E
S
.
"
}
,
{
"
T
I
T
L
E
"
:
"
T
E
S
T
E
S
D
E
W
E
B
H
O
O
K
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
E
N
V
I
E
W
E
B
H
O
O
K
S
D
E
T
E
S
T
E
D
E
I
P
S
D
I
F
E
R
E
N
T
E
S
P
A
R
A
V
E
R
I
F
I
C
A
R
O
S
F
I
L
T
R
O
S
D
E
S
E
G
U
R
A
N
Ç
A
D
A
S
U
A
A
P
L
I
C
A
Ç
Ã
O
.
"
}
,
{
"
T
I
T
L
E
"
:
"
T
E
S
T
E
S
D
E
M
I
C
R
O
S
S
E
R
V
I
Ç
O
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
T
E
S
T
E
S
U
A
S
P
R
Ó
P
R
I
A
S
A
P
I
S
A
P
A
R
T
I
R
D
E
I
P
S
E
X
T
E
R
N
O
S
P
A
R
A
V
E
R
I
F
I
C
A
R
R
E
G
R
A
S
D
E
R
A
T
E
L
I
M
I
T
I
N
G
E
G
E
O
B
L
O
Q
U
E
I
O
.
"
}
]
FAQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Pronto para começar?
Comece com a GProxy em minutos — proxies residenciais a partir de $0.85/GB, IPv6 a partir de $0.03/proxy, pague conforme o uso.
