Node 请求墙外的API(试了几种都行不通,报错)
各位大佬们…问题如下;
用的库:
- 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);
4 回复
你可以把你使请求的配置发上来, 这种http请求库一般都会由proxy设置,根据你的ss配置一下。另外这个帖子方法可行供参考https://cnodejs.org/topic/5954c901ff46b8a921c947d8
本地代理是什么协议,socks?
@ouyangxuanyun 大哥,已经发出来了…我试着改用其他库也不行…axios内置proxy…配置了没用
@DevinXian 本地走的是ss, socks5和http都有