【发布时间】:2019-09-22 15:55:12
【问题描述】:
基本上是same question here。
我正在使用浏览器。以下代码由 webpack 编译。 我试过这个:
const axios = require('axios');
var res = await axios.get('https://api.ipify.org?format=json', {
proxy: {
host: 'proxy-url',
port: 80,
auth: {username: 'my-user', password: 'my-password'}
}
});
console.log(res.data); // gives my ip and not the proxy's one.
我也用同样的代码试过了,但是没用:
const axios = require('axios-https-proxy-fix');
然后,我尝试使用 httpsAgent:
const axios = require('axios');
const HttpsProxyAgent = require('https-proxy-agent')
var agent = new HttpsProxyAgent('http://my-user:my-pass@proxy-url:port');
var res = await axios.get('https://api.ipify.org?format=json', {
httpsAgent: agent,
});
console.log(res.data); // gives my ip and not the proxy's one.
这是一个错误吗?我是被诅咒了还是我在阅读文档时遇到了问题?
【问题讨论】:
-
对代理不太熟悉,更不用说axios了,但是乍一看端口真的应该是80的https请求吗?
-
您希望获得什么 ip?您是否知道您可能正在使用您的 ISP 提供的单个外部 IP 浏览互联网?如果从 axios 中删除代理的东西,结果是什么?
-
@obermillerk 它只是工作。我通过在线代理检查器进行了测试,我的代理很好,即使通过端口 80 通过 HTTPS。
-
您是否考虑过使用其他解决方案?想到了 Fetch API,无论如何它将来可能会取代 Axios 之类的。
-
在这种情况下,我认为这个答案会很有趣:stackoverflow.com/questions/44524236/…
标签: javascript axios