Answers:
自动代理检测系统通过wpad.dat
从主机下载称为的文件来工作wpad
。首先从命令提示符确认此主机存在:
ping wpad
如果不存在,则可能必须放置正确的DNS后缀。在同一命令提示符下,键入
ipconfig /all
您应该看到Primary DNS Suffix
和DNS Suffix Search List
尝试为每个附加一个。至wpad
:
ping wpad.<primary dns suffix>
如果上述任何一项有效,请在浏览器中输入http://wpad.<suffix>/wpad.dat
。这将下载可以在notepad.exe中打开的代理自动配置文件。
在此文件的底部,您应该看到一行显示
PROXY <host:port>;
如果您有多个代理,则可能会重复进行。主机和端口是您所需要的。
如果此文件不存在,则说明没有代理服务器,或者dhcp正在提供代理服务器(请注意,这仅适用于IE,因此如果firefox可以上网,则不会使用此方法)。如果您无权访问dhcp服务器以查看其发送的内容,最简单的方法是在ie中打开一个站点,然后转到命令提示符。类型
netstat -ban
这将提供使用每个进程的进程ID建立的连接的列表。转到任务管理器,然后选择View/Select Columns
并启用PID(进程标识符)。在返回的列表中查找iexplore.exe的PID。netstat -ban
这将显示代理IP和端口。
它不适用于新版本的Chrome。请停止使用它。
我有一种更简单的方法来找到它。安装chrome并转到下面的URL以查看代理详细信息
chrome://net-internals/#proxy
您将能够看到所有详细信息
在cmd中尝试以下命令:
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxyserver"
希望有所帮助
以下命令似乎也有效。另外,它避免与很多可能运行或可能无法运行的DNS服务器联系,并且避免了查询注册表,因此即使在相当锁定的环境中,它也可以正常运行:
Windows Vista或更高版本:
netsh winhttp show proxy
Windows XP或更早版本:
netsh diag connect ieproxy
需要一些额外的工作来从输出中提取代理地址,因此如果您知道它将可用,则注册表方法会更简单。
更新:
我发现在Windows 7上,netsh有时会根据我的调用方式返回不同的结果。如果我在提示符下手动运行上述命令,则会显示“直接访问-无代理”。但是,netsh
从SAS 调用会导致列出实际代理!
netsh winhttp show proxy
显示系统代理设置(默认用户)。用户可能具有不同的设置。
netsh
命令时,我得到:“直接访问(没有代理服务器)”。什么是SAS?
我创建了一个简单的WinProxyViewer.exe以显示Windows代理设置。目的是使普通用户能够运行它并将输出发送给管理员(技术支持等)。
要了解有关当前互联网连接和设置的大量信息,包括您当前正在使用的代理服务器,请访问Chrome中的以下地址:
chrome:// net-internals /
您会在页面左侧看到一列,该列为您提供了您可以请求的不同类型信息的列表,其中包括“代理”。
注意:完全有可能在Windows中添加“ chrome:” URI方案,以便您可以从任何浏览器(而不只是chrome)转到“ chrome:// net-internals /”来获取此信息。但是由于此URI方案的处理程序需要使用chrome,因此无论如何都需要安装chrome。因此,将URI方案“ chrome”添加到注册表中仅在使用其他浏览器并且希望避免首次启动chrome(然后转到chrome:// net-internals /)所需的单击/键入时才真正有用。
以上提示都不对我有用(在使用Windows 7 Enterprise的大公司中工作,对最终用户“完全关闭”)。
我终于找到了这个小的Java程序,对我来说很好用:https : //stackoverflow.com/questions/4933677/detecting-windows-ie-proxy-setting-using-java