我在浏览网站时会在 Chrome 左下角看到此信息。通常在连接到新网络后首次浏览时出现。
我的问题:
- 代理脚本到底是什么?
- Chrome 为了检测到它做了什么?
答案1
在 Microsoft 环境中:
自动代理检测是系统识别 Web 代理服务器并使用该服务器代表客户端发送请求的过程。此功能也称为 Web 代理自动发现 (WPAD)。启用自动代理检测后,系统会尝试查找负责返回可用于请求的代理集的代理配置脚本。如果找到代理配置脚本,则在获取使用 WebProxy 实例的请求的代理信息、请求流或响应时,会在本地计算机上下载、编译和运行该脚本。
自动代理检测由 WebProxy 类执行,可以使用请求级别的设置、配置文件中的设置以及使用 Internet Explorer 局域网 (LAN) 对话框指定的设置。
启用自动代理检测后,WebProxy 类将尝试按如下方式定位代理配置脚本:
- WinINet InternetQueryOption 函数用于定位 Internet Explorer 最近检测到的代理配置脚本。
- 如果未找到该脚本,WebProxy 类将使用动态主机配置协议 (DHCP) 来定位该脚本。DHCP 服务器可以使用脚本的位置(主机名)或脚本的完整 URL 进行响应。
- 如果 DHCP 未识别 WPAD 主机,则会向 DNS 查询以 WPAD 作为其名称或别名的主机。
- 如果未识别主机并且 Internet Explorer LAN 设置或配置文件指定了代理配置脚本的位置,则使用该位置。
代理是按每个连接点配置的。连接点是网络连接对话框中的项目,可以是物理网络设备(调制解调器或以太网卡),也可以是虚拟接口(例如通过网络设备运行的 VPN 连接)。当连接点发生变化时(例如,无线连接更改了接入点,或者启用了 VPN),代理检测算法会再次运行。
默认情况下,浏览器代理设置用于检测代理。如果您的应用程序在非交互式帐户下运行(没有方便的方法来配置代理设置),或者您想使用不同于 IE 设置的代理设置,您可以通过创建定义了元素(网络设置)和元素(网络设置)元素的配置文件来配置您的代理。
来源:https://docs.microsoft.com/en-us/dotnet/framework/network-programming/automatic-proxy-detection