Node 请求墙外的API(试了几种都行不通,报错)
发布于 6 年前 作者 crper 6112 次浏览 来自 问答

各位大佬们…问题如下;

用的库:

  • Koa 2.x
  • node-fetch
  • http-proxy

我的方案是想让请求走本地代理.但是搞了一下午搞不通…

这个怎么破,亦或者有更好的解决方案呢

输出的错误信息

Error: timeout of 15000ms exceeded

  type: 'system',
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED' }

谢谢

配置文件,改用axios也不行…我这边用的是ss




const Koa = require("koa");

const app = new Koa()

const axios = require('axios');


const service = axios.create({
  timeout: 15000, // 超时时间
  withCredentials: true, // 是否跨站点访问控制请求,携带 cookie
  responseType: 'json', // 响应数据格式
  headers: {  // 设置请求头
      'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
      'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'
  },
  proxy:{
    host: '127.0.0.1',
    port: 1087,
  }
});



const ik = 'ba58a76f-2941ff5b-e26c99cc-f03e9';

app.use(ctx => {
  axios.get(`https://api.huobipro.com/market/history/kline?period=1day&size=200&symbol=btcusdt&AccessKeyId=${ik}`).then(res=> {console.log(res.json);ctx.body = res.json}).catch(err=>console.log(err))
});

app.listen(3000);

5 回复

你可以把你使请求的配置发上来, 这种http请求库一般都会由proxy设置,根据你的ss配置一下。另外这个帖子方法可行供参考https://cnodejs.org/topic/5954c901ff46b8a921c947d8

本地代理是什么协议,socks?

@ouyangxuanyun 大哥,已经发出来了…我试着改用其他库也不行…axios内置proxy…配置了没用

@DevinXian 本地走的是ss, socks5和http都有

目前在中国VPN基本上都不能用了,可以使用开源的翻墙软件客户端搭配机场来使用,可以查看稳定好用的机场推荐以及便宜机场推荐,追求极致稳定的翻墙者还可以使用老牌机场推荐高端机场推荐,如果是临时应急使用,可使用免费机场来做临时应急使用。

回到顶部