javascript - 如何使用javascript检测代理

标签 javascript proxy

在网页中,是否可以通过 javascript 检测 Web 浏览器是否正在使用 PAC 文件 http://xxx.xx.xx.xxx/toto.pac ?
注意:可以在多个 PAC 后面查看同一页面,我不想使用服务器端语言,如有必要,我可以编辑 toto PAC 文件。问候

最佳答案

您可以向已知的外部服务器 (google.com) 发出 ajax 请求,然后从该请求中获取 header 以查看代理 header 是否在请求中...

var proxyHeader = 'via';
var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send();
var header = req.getResponseHeader(proxyHeader);
if (header) {
    // we are on a proxy
}

更改 proxyHeader您的代理添加到响应中的内容。

编辑:您必须添加一个条件来支持 XMLHttpRequest 的 IE 实现

编辑:

我在工作中使用代理,我刚刚在 jsfiddle 中测试了这段代码,它工作正常。可以做得更漂亮,以便支持 IE 并执行异步获取,但一般功能在那里... http://jsfiddle.net/unvHW/

事实证明,检测“via”要好得多......

关于javascript - 如何使用javascript检测代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19767589/

相关文章:

javascript - 解析文本文件以兼容 HTML?

javascript - 使用 Rollup 输出多个文件

javascript - 我应该如何操作具有相同原型(prototype)的另一个对象的 "private"成员?

gradle - 如何在gradle上传递系统系统属性 “-D”

PHP本地托管,通过代理服务器连接外部资源

javascript - 通过 ajax() 请求获取 Google Maps API 的地址坐标

javascript - 使 div 仅固定在另一个可滚动的 div 中

javascript - 在 JavaScript 中设置代理

proxy - 当服务器在 Varnish 反向代理之后(反过来又在负载均衡器之后)时,在apache日志中获取客户端IP地址

c# - 使用代理服务器上传 Azure 存储客户端库