找回密码
 免费注册

[NodeJs] nodejs使用socks5代理并发请求的实例

[复制链接]
admin 发表于 2024-2-1 01:25:12 | 显示全部楼层 |阅读模式
在 Node.js 中,可以使用 http-proxy-middleware 包来创建一个代理服务器,并通过 axios 发起请求。下面是一个使用 SOCKS5 代理并发请求的示例:
首先,安装必要的包:
  1. npm install axios http-proxy-middleware
复制代码
然后,创建一个名为 proxy.js 的文件,并添加以下代码:
  1. 在 Node.js 中,可以使用 http-proxy-middleware 包来创建一个代理服务器,并通过 axios 发起请求。下面是一个使用 SOCKS5 代理并发请求的示例:

  2. 首先,安装必要的包:

  3. bash
  4. npm install axios http-proxy-middleware

  5. 然后,创建一个名为 proxy.js 的文件,并添加以下代码:

  6. javascript
  7. const axios = require('axios');
  8. const { createProxyMiddleware } = require('http-proxy-middleware');

  9. const proxy = createProxyMiddleware({
  10.   target: 'http://example.com', // 目标URL
  11.   changeOrigin: true, // 必须设置为true以避免错误
  12.   secure: false, // 不验证SSL证书
  13.   socks: [
  14.     { host: '127.0.0.1', port: 9050, username: 'your_username', password: 'your_password' }, // SOCKS5代理的地址和端口
  15.   ],
  16. });

  17. async function requestWithProxy() {
  18.   try {
  19.     const urls = [
  20.       'https://api.example1.com',
  21.       'https://api.example2.com',
  22.       'https://api.example3.com'
  23.     ];
  24.     const responses = await Promise.all(urls.map((url) => axios.get(url, { proxy }))); // 使用代理发送所有请求
  25.     for (let i = 0; i < responses.length; i++) {
  26.       console.log(`Response from ${urls[i]}:`, responses[i].data);
  27.     }
  28.   } catch (error) {
  29.     console.error("Error occurred while making requests:", error);
  30.   }
  31. }

  32. requestWithProxy(); // 调用函数开始并发请求

  33. 在此示例中,我们创建了一个 SOCKS5 代理服务器,并使用 axios 发起并发请求。createProxyMiddleware 函数创建了一个代理中间件,该中间件将所有的请求转发到 SOCKS5 代理服务器。secure 参数设置为 false 以避免 SSL 错误,因为 SOCKS5 代理不支持 SSL。
复制代码
在此示例中,我们创建了一个 SOCKS5 代理服务器,并使用 axios 发起并发请求。createProxyMiddleware 函数创建了一个代理中间件,该中间件将所有的请求转发到 SOCKS5 代理服务器。secure 参数设置为 false 以避免 SSL 错误,因为 SOCKS5 代理不支持 SSL。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|Archiver|手机版|小黑屋|信息共享网

GMT+8, 2024-5-14 13:29 , Processed in 0.067514 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表