我如何知道我使用的是哪个代理服务器?

Mik*_*sen 209 networking windows proxy windows-xp

我需要知道我的代理服务器的地址是什么,以便我可以配置另一个程序来使用它。如果我进入 IE、Internet 属性、LAN 设置,那么我看到的只是一个自动配置脚本,而不是实际的代理地址。我怎样才能得到这个?

我正在使用 Windows XP。

Pau*_*aul 220

自动代理检测系统通过下载wpad.dat从主机调用的文件来工作wpad。首先从命令提示符确认此主机存在:

ping wpad
Run Code Online (Sandbox Code Playgroud)

如果它不存在,您可能需要输入正确的 DNS 后缀。在同一个命令提示符下,键入

ipconfig /all
Run Code Online (Sandbox Code Playgroud)

你应该看到一个Primary DNS Suffix和一个DNS Suffix Search List

尝试用 . 到wpad

ping wpad.<primary dns suffix>
Run Code Online (Sandbox Code Playgroud)

如果其中任何一项有效,则在您的浏览器中输入http://wpad.<suffix>/wpad.dat. 这将下载您可以在 notepad.exe 中打开的代理自动配置文件

在这个文件的底部,你应该看到一行说

PROXY <host:port>;
Run Code Online (Sandbox Code Playgroud)

如果您有多个可用代理,则可能会重复。主机和端口是您所需要的。

如果这个文件不存在,那么要么没有代理服务器,要么是dhcp提供的代理服务器(注意,这只适用于IE,所以如果firefox可以冲浪,这不是正在使用的方法)。如果您无权访问 dhcp 服务器以查看它发送的内容,最简单的方法是在 ie 中打开一个站点,然后转到命令提示符。类型

netstat -ban
Run Code Online (Sandbox Code Playgroud)

这将提供与每个进程的进程 ID 建立的连接列表。转到任务管理器,然后选择View/Select Columns并启用 PID(进程标识符)。在返回的列表中查找 iexplore.exe 的 PIDnetstat -ban 这将显示代理 ip 和端口。

  • 要下载自动配置脚本,我发现只需将脚本链接复制并粘贴到地址栏 (YMMV) 中就更容易了…… (3认同)
  • 是的,问题在于域策略阻止了它被更改,并且 IE 禁用了 URL 框。它不会让你复制它或看到整个东西呵呵。 (2认同)
  • 我的代理配置显然使用了出现在 LAN 设置的“使用自动配置脚本”部分中的“proxy.pac”文件,而不是 wpad.dat。这是一个确定要使用的代理服务器的脚本。 (2认同)
  • 在 Windows 10 上对我不起作用 (2认同)

小智 89

请参阅下面的编辑。

我还有一种更简单的方法可以找到它。安装 chrome 并转到以下 URL 以查看代理详细信息

 chrome://net-internals/#proxy
Run Code Online (Sandbox Code Playgroud)

您将能够看到所有详细信息

编辑 2020 年 9 月

正如@RMorrisey 在评论中所述,您可以使用以下链接(Chrome 85.xxx)

chrome://net-export/
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,这不再有效;看来谷歌已删除该功能。(我使用的是 Chrome 73 版,但我不知道它何时被移除——这不是我每天都使用的东西。) (13认同)
  • 对我来说,Chrome 中的这个屏幕几乎完全是空白的。 (9认同)
  • 当您使用 VPN 但想知道您的网络代理协议类型 IP 和端口时,此方法非常有用。谢谢。 (2认同)
  • 此功能现已替换为:chrome://net-export/ (2认同)

小智 69

在 cmd 中尝试以下命令:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxyserver"
Run Code Online (Sandbox Code Playgroud)

希望有帮助

  • 就我而言,我必须找到“AutoConfigURL”而不是“proxyserver”。这让我找到了一个 *.pac 文件,我可以通读该文件以找到脚本返回的默认代理。 (16认同)

use*_*490 31

以下命令似乎也有效。作为奖励,它避免了联系许多可能工作或可能不工作的 DNS 服务器,并避免查询注册表,因此它即使在相当锁定的环境中也能正常工作:

Windows Vista 或更高版本:

netsh winhttp show proxy
Run Code Online (Sandbox Code Playgroud)

Windows XP 或更早版本:

netsh diag connect ieproxy
Run Code Online (Sandbox Code Playgroud)

从输出中提取代理地址需要一些额外的工作,因此如果您知道它将可用,则注册表方法会更简单。

更新:

我发现在 Windows 7 netsh 上有时会返回不同的结果,具体取决于我如何调用它。如果我在提示中手动运行上述命令,我会得到“直接访问 - 无代理”。但是,netsh从 SAS调用会导致列出实际代理!

  • 我绝对支持代理,当我调用 `netsh` 命令时,我得到:“直接访问(无代理服务器)。”。什么是SAS? (7认同)
  • 我也看到了“直接访问”行。“调用netsh rom SAS”是什么意思? (6认同)
  • sais:直接访问&lt;无代理服务器&gt;。但我绝对支持代理 .. 只显示 WinHTTP 代理 (4认同)
  • `netsh winhttp show proxy` 显示系统代理设置(默认用户)。用户可能有不同的设置。 (2认同)
  • “SAS”是什么意思? (2认同)

小智 20

您还可以通过运行以下命令从注册表中获取自动配置文件 URL:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad" /s | find /i "WpadDetectedURL"
Run Code Online (Sandbox Code Playgroud)

  • 这为我返回空字符串“WpadDetectedUrl REG_SZ” (2认同)

ΦXo*_*a ツ 11

如果您使用的是自动检测代理设置,请在浏览器的地址栏中执行(无论您安装了哪个)

http://wpad/wpad.dat

然后,您将获得一个 javascript 文件,根据您尝试在网络上访问的内容描述使用哪个代理服务器...


小智 10

使用以下网站获取您的代理:http : //www.whatismyproxy.com/

  • 该解决方案为我确定了我对 Web 的看似直接访问实际上是通过 McAfee Web 网关路由的 (2认同)