利用request模块进行HTTP代理地址测试问题
const proxys = [{
type:"HTTP",
ip:123.456.789.123
port:4399
}]
function check() {
let flag = proxys.length;
return new Promise((resolve, reject) => {
for (let i = 0; i < proxys.length; i++) {
let proxy = proxys[i];
request({
url: "http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js",
proxy: `${proxy.type.toLowerCase()}://${proxy.ip}:${proxy.port}`,
method: 'GET',
timeout: 1000,
headers: {
'User-Agent': UserAgent[Math.floor(Math.random() * UserAgent.length + 1) - 1]
}
}, function(error, response, body) {
if (!error && response.statusCode == 200) {
useful.push(response.request['proxy']['href']);
console.log("请求成功");
}
flag--;
if (flag == 0) {
resolve(useful);
}
});
}
}).then(res => {
return JSON.stringify(res);
}).catch(err => {
return err;
})
}
求教大家一个问题。 我想测试一下proxys数组中http代理地址是否可用。 将上面函数获取到的可用地址,填入浏览器中进行测试,发现如下图这种情况 D533D148288DB6CB8C54F4DD6D134792.png https的链接请求失败。http的链接会重定向到有道(www.youdao.com)首页,并显示认证失败。 请问大家有什么好的函数写法,能让我获取到可用地址。