在nestjs中使用代理ip发送请求

文章讲述了在NestJS项目中,开发者尝试使用axios和tunnel库通过代理IP发送网络请求,但遇到了400,407和503等错误状态码。407错误提示可能是因为代理服务器需要身份验证,而其他错误原因未明确。作者寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

nestjs项目,使用以下依赖

 "axios": "^0.24.0",
 "tunnel": "^0.0.6"
 "@nestjs/cli": "^9.0.0",

正文

通过axios配置代理ip发送网络请求

npm install axios tunnel --save

import axios from 'axios';

const tunnel = require('tunnel');

 async getList(item) {
    let body = {
      id: item.id,
      order: 'asc',
      page: 1,
    };
    
	// 配置代理ip
    const tunnelProxy = tunnel.httpsOverHttp({
      proxy: {
        host: '127.0.0.1',
        port: 8080,
      }
    });
    await axios.post(this.url, body,{
      proxy: false,
      httpsAgent:tunnelProxy,
      headers:{
        token:this.config.token
      },
      // timeout:2000
    }).then(async res => {
      // console.log(JSON.stringify(res.config));
     console.log('res',res)
    }).catch(err => {
    // 通过err.toJSON().message 可以拿到错误信息
      console.log(`${getDate()} 错误信息:`, err.toJSON().message);
    });
  }

报错

tunneling socket could not be established, statusCode=400
tunneling socket could not be established, statusCode=407
tunneling socket could not be established, statusCode=503
tunneling socket could not be established, cause=connect ECONNREFUSED 61.154.46.114:38592

  • 都是代理ip不可能,使用了我的代码代理是可以跑通的,报407就是没有配置白名单,权限不够,其他错误暂时不明,懂的指点指点~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码の搬运工

记录学习,记录认知,记录。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值