2016-05-31 43 views
5

Chcę zautomatyzować czas przechowywania klienta WWW, używając nokogiri i mechanize. Muszę się połączyć przez serwer proxy, jednak złapałem, nie znam nazwy użytkownika i hasła wspomnianego serwera proxy. Chciałbym chwycić buforowanych poświadczeń dla tego serwera proxy, które są przechowywane na komputerze ..Jak uzyskać dostęp do serwera proxy bez nazwy użytkownika i hasła?

Na przykład w c# można użyć:

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

To będzie chwycić poświadczenia, które są już rejestrowane i wykorzystanie im uzyskać dostęp do proxy, czy Ruby ma coś w tym rodzaju? Wiem, że możesz używać proxy w ruby ​​i jest to dość proste, jednak nie mogę uzyskać żadnej informacji o proxy (hasło użytkownika). Ten serwer proxy nie pozwala mi połączyć się z internetem. Czy istnieje sposób, aby uzyskać buforowane poświadczenia (nazwa użytkownika, hasło) i uzyskać dostęp do serwera proxy? Lub, jeśli nie jest to możliwe, jest jakiś sposób obejścia tego?

+0

Nie ma rozwiązania pod klucz, o którym jestem świadomy. [Ten kod] (https://github.com/zl4bv/win32-cred) to najlepsza rzecz, jaką znalazłem. – rdupz

+0

Dodam do tego kolejną nagrodę. – 13aal

Odpowiedz

2

Możesz spróbować pobrać je bezpośrednio z rejestru. Ustawienia powinien być w

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

ale w zależności od tego, jak narzędzie jest uruchamiane, to może mieć kłopoty z dostępem do odpowiedniej gałęzi.

A może ... gdzie jedno narzędzie nie wystarcza ... użyj two.

+0

To jest świetna odpowiedź i uwielbiam pomysł, jak jednak uzyskać dostęp do rejestru za pomocą 'ruby'? – 13aal

+0

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

+0

Jednak nie ma w katalogu 'proxyprover',' user' lub 'pass' rejestr. Istnieje jednak 'Proxyenable REG_DWORD',' AutoConfigProxy REG_SZ' i 'MigrateProxy REG_DWORD'. Czy któreś z tych, które należy edytować? – 13aal