我正在开发一个chrome扩展程序,该扩展程序可以轻松地在代理之间进行切换,问题是我得到代理的主机和端口对于20k IP池而言是静态的,唯一更改的是用户名,其中包括de IP我想要的代理服务器和密码。
一旦连接到代理,无论我做什么,chrome都不会强制重新认证,因此将使用相同的旧IP。
我需要一种不缓存凭据或在每次发送新的代理设置时强制其重新认证的方法。
user = "my_user_id-zone-my_zone-ip-178.171.21.18";
pass = "my_password";
var config = {
mode: "fixed_servers",
rules: {
singleProxy: {
scheme: "http",
host: "zproxy.lum-superproxy.io",
port: 22225
}
}
};
chrome.proxy.settings.set({
value: config,
scope: 'regular'
}, function () { });
//and here is the listener to authenticate it
chrome.webRequest.onAuthRequired.addListener(
provideCredentials,
{
urls: ["<all_urls>"]
},
['blocking']
);
function provideCredentials(details) {
return { authCredentials: { username: user, password: pass } };
}
所以基本上 如果我将用户字符串的末尾从-ip-178.171.21.18更改为-ip-138.171.44.100,则它应该请求新的身份验证,但是由于主机和端口相同,因此似乎不请求身份验证。>
我在隐身模式下进行了尝试,并且第一次将其加载到预期的IP上之后,保存了凭据,即使我切换了IP,我仍然无法使其正常工作。