获取Windows代理用户名/密码

Rob*_*ert 6 windows proxy credentials

我可以访问预配置的Windows XP 32位工作站.它在防火墙下,并且在外面它使用http代理服务器.要获取代理设置,我需要主机,端口,用户名和密码.

http:// username:password @ server:port

我能够找到代理URL和端口(来自PAC - 自动配置文件),但我不知道如何获取用户名/密码.有没有办法以某种方式阅读它?至少用户名?我可能会获得管理员权限.

你知道任何有用的工具吗?

我只找到了一些关于获取代理配置连接的方法的MS文档,但我不知道如何确定提供的凭据是什么:

WinHttpGetIEProxyConfigForCurrentUser函数

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG结构

WinHttpGetProxyForUrl函数

我也找到了这个lib,但它更适用于解析PAC:http: //code.google.com/p/pacparser/

Ber*_*tel 1

迭代 Fernando Sanchez 的答案和 Robert 的评论,您需要通过SSPI进行身份验证。就我而言,我已使用此链接使用 NTLM 进行连接

使用 ntlm进行

curl.exe --proxy <proxy_name>:<proxy_port> --proxy-ntlm -U : https://www.google.com
Run Code Online (Sandbox Code Playgroud)

另外,为了部分回答您的问题,请-U :使用curl手册页的方法:

如果您使用支持 Windows SSPI 的curl 二进制文件并执行协商或 NTLM 身份验证,则可以通过使用以下选项指定单个冒号来告诉curl 从您的环境中选择用户名和密码:“-U :”。

您可以从 Windows 注册表 (regedit) 获取代理名称和端口。引用罗伯特的评论:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]

它可以使用手动方式呈现REG_SZ ProxyServer,也可以使用自动配置脚本呈现REG_SZ AutoConfigURL = https://<configuration_url>

如果上面的命令失败,Failure when receiving data from the peer也许你有一个没有NTLM、SSPI或OpenSSL版本。尝试使用最新的curl版本