Como configurar um proxy para node-fetch
O Node.js é um popular runtime de JavaScript do lado do servidor que permite aos desenvolvedores criar aplicativos escaláveis e rápidos. Ao fazer solicitações HTTP no Node.js, pode ser necessário usar um servidor proxy para rotear o tráfego por meio de um endereço IP diferente. Isso é útil por vários motivos, como ignorar restrições geográficas ou ocultar seu endereço IP.
Neste artigo, exploraremos como configurar um proxy para
node-fetch
, uma biblioteca popular para fazer solicitações HTTP em Node.js. Abordaremos as etapas necessárias para configurar o módulo HttpsProxyAgent
, que é usado para criar um agente proxy que pode ser passado para o método fetch
. Também discutiremos alguns casos de uso comuns para usar um proxy com node-fetch
e forneceremos alguns exemplos para ajudá-lo a começar.Para configurar um proxy para
node-fetch
, você pode usar o módulo HttpsProxyAgent
. Aqui estão as etapas para configurar um proxy:1. Instale o pacote
https-proxy-agent
executando o seguinte comando em seu terminal:npm install https-proxy-agent
2. Importe o módulo
HttpsProxyAgent
em seu código:const HttpsProxyAgent = require('https-proxy-agent');
3. Crie uma nova instância de
HttpsProxyAgent
com seu URL de proxy:const proxyUrl = 'http://your-proxy-url.com:port';
const proxyAgent = new HttpsProxyAgent(proxyUrl);
Observação: substitua your-proxy-url.com pela URL real do seu servidor proxy e porta pelo número da porta na qual seu servidor proxy está sendo executado.
4. Passe o
proxyAgent
como uma opção para o método fetch
:fetch('https://example.com', { agent: proxyAgent })
.then(response => {
// handle response
})
.catch(error => {
// handle error
});
Observação: substitua
https://example.com
pelo URL que deseja buscar.É isso! Agora você deve ser capaz de fazer solicitações através do seu servidor proxy usando
node-fetch
.Código completo:
const HttpsProxyAgent = require('https-proxy-agent');
const proxyUrl = 'http://your-proxy-url.com:port';
const proxyAgent = new HttpsProxyAgent(proxyUrl);
fetch('https://example.com', { agent: proxyAgent })
.then(response => {
// handle response
})
.catch(error => {
// handle error
});