如何在没有用户名和密码的情况下访问代理?

13a*_*aal 6 ruby proxy credentials

我想使用nokogiri和自动保持Web客户端的时间mechanize.我需要通过代理服务器连接,但问题是,我不知道所述代理服务器的用户名和密码.我想获取存储在计算机上的此代理的缓存凭据.

例如,c#您可以使用:

string proxyUri = proxy.GetProxy(requests.RequestUri).ToString();
requests.UseDefaultCredentials = true;
requests.Proxy = new WebProxy(proxyUri, false);
requests.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
Run Code Online (Sandbox Code Playgroud)

这将获取已记录的凭据并使用它们来访问代理,Ruby有什么类似的东西吗?我知道你可以在ruby中使用代理,而且它很简单,但是我无法获得代理的任何信息(用户名密码).此代理不允许我连接到网络.有没有办法可以获得缓存的凭据(用户名,密码)并访问代理?或者,如果不可能,有办法吗?

LSe*_*rni 3

您可以尝试直接从注册表检索它们。设置应该

HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    ProxyEnable      REG_DWORD
    ProxyServer      REG_SZ
    ProxyUser        REG_SZ
    ProxyPass        REG_SZ
Run Code Online (Sandbox Code Playgroud)

但根据您的实用程序的运行方式,它可能会在访问适当的配置单元时遇到问题。

或者,也许...当一个实用程序不够时...使用两个.

  • 在这种情况下,将从*当前用户*(可能*或可能不是*运行您的程序的用户)的凭证存储中检索凭证。而且,不幸的是,这将以*安全*的方式发生 - 您的连接必须“说出”NTLM 身份验证,利用 Internet Explorer 进行连接,或者从配置文件提供用户/密码。您将无法恢复明文形式的凭据。尽管很尴尬,但 CNTLM 对我来说似乎是最简单的解决方法。 (2认同)