То, что вы пытаетесь сделать, просто невозможно. Это потому, что pac-файл оценивается для каждого URL, который вы запрашиваете. Таким образом, «строка ответа pac» не является константой, которую можно вернуть при настройке параметров прокси.
Если вы пытаетесь отладить свой pac-файл, вы можете alert('settings')
внутри FindProxyForURL
простоперед возвратом настроек. Предупреждение создает запись в журнале, к которой можно получить доступ с помощью функции chrome://net-internals/#events
.
Если вы хотите только проверить, использует ли пользователь прямое соединение или прокси, вы можете сравнить внешний IP-адрес до и после настройки проксинастройки. Оформить заказ ipify.org или вы даже можете использовать скрипт на своем веб-сервере.
Вот пример кода для этого:
let originalIp = "";
async function getCurrentIp() {
var res = await fetch('http://api.ipify.org/');
return await res.text();
}
// Get ip before setting proxy
getCurrentIp().then(ip => {
originalIp = ip;
});
var config = {
mode: "pac_script",
pacScript: {
url: "https://www.example.com/proxy.pac"
}
};
chrome.proxy.settings.set({
value: config,
scope: 'regular'
}, function() {
// Get ip after setting proxy and compare it with original ip
getCurrentIp().then(ip => {
if (ip == originalIp)
console.log('DIRECT');
else
console.log('PROXY: ' + ip)
})
});