2016-05-31 56 views
5

我想使用nokogirimechanize自动化计时网络客户端。我需要通过代理服务器进行连接,但是,我不知道所述代理服务器的用户名和密码。我想抓住这个代理是存储在计算机上的缓存凭据..如何访问没有用户名和密码的代理?

例如,在c#你可以使用:

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

这将抓住这已经登录凭据和使用他们访问代理,Ruby是否有类似的东西?我知道你可以在ruby中使用代理,并且它非常简单,但是我无法获得代理(用户名密码)的任何信息。此代理不允许我连接到网络。有没有一种方法可以获得缓存的凭据(用户名,密码)并访问代理?或者,如果不可能,是否有办法解决它?

+0

我没有意识到的交钥匙解决方案。 [此代码](https://github.com/zl4bv/win32-cred)是我发现的最好的东西。 – rdupz

+0

我会为此添加另一个赏金。 – 13aal

回答

2

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

HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings 
    ProxyEnable  REG_DWORD 
    ProxyServer  REG_SZ 
    ProxyUser  REG_SZ 
    ProxyPass  REG_SZ 

但根据您的应用工具的运行,它可能有麻烦访问相应的蜂巢。

或者,也许...一个实用程序是不够的...使用two

+0

这是一个很好的答案,我喜欢这个想法,但是我怎样才能通过'ruby'访问注册表? – 13aal

+0

http://ruby-doc.org/stdlib-2.0.0/libdoc/fiddle/rdoc/Win32/Registry.html – mudasobwa

+0

然而,在我的系统中没有'proxyserver','user'或'pass'注册表中。然而有'Proxyenable REG_DWORD','AutoConfigProxy REG_SZ'和'MigrateProxy REG_DWORD'。这些是需要编辑的吗? – 13aal

相关问题