在 NodeJS 中对Undici Fetch请求使用代理

7gyucuyw  于 2023-03-01  发布在  Node.js
关注(0)|答案(1)|浏览(540)

问题

我不确定如何使用Undici fetch代理。我希望对任何带有用户名和密码验证的fetch请求使用单独的代理。我找到了一些代理的文档,但我没有看到太多关于使用fetch api代理的内容。
溶液
至于一个好的解决方案,我希望有一个代码示例来使用代理执行对站点(例如www.example.com)的简单get请求,并说明如何在该代理中包含用户名和密码。ifconfig.me) using a proxy and instructions on how to include a username and password with that proxy.
该解决方案应执行与以下代码相同的功能,但使用代理:

const { fetch } = require("undici");

const req = await fetch('https://ifconfig.me/all');
const res = await req.text();
正在使用节点版本18。
sczxawaw

sczxawaw1#

此处找到解决方案https://github.com/nodejs/undici/blob/e461407c63e1009215e13bbd392fe7919747ab3e/docs/api/ProxyAgent.md
在我的情况下,我使用

const client = new ProxyAgent(`http://${proxy.user}:${proxy.pass}@${proxy.host}:${proxy.port}`);
const response = await fetch(urlRequested, {  dispatcher: client  });

相关问题