2016-05-31 80 views
5

Desidero automatizzare un client web di mantenimento del tempo, utilizzando nokogiri e mechanize. Devo connettermi tramite un server proxy, tuttavia il problema è che non conosco il nome utente e la password di detto server proxy. Vorrei afferrare le credenziali memorizzate nella cache per questo proxy che vengono memorizzati sul computer ..Come accedere a un proxy senza nome utente e password?

Per esempio, in c# è possibile utilizzare:

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

Ciò afferrare le credenziali che sono già registrati e l'uso per accedere al proxy, Ruby ha qualcosa del genere? So che è possibile utilizzare i proxy in ruby ​​ed è abbastanza semplice, tuttavia non sono in grado di ottenere nessuna delle informazioni per il proxy (password del nome utente). Questo proxy non mi consente di connettermi al web. C'è un modo per ottenere le credenziali memorizzate nella cache (nome utente, password) e accedere al proxy? Oppure, se non è possibile, esiste un modo per aggirarlo?

+0

Non esiste una soluzione chiavi in ​​mano di cui sono a conoscenza. [Questo codice] (https://github.com/zl4bv/win32-cred) è la cosa migliore che ho trovato. – rdupz

+0

Aggiungerò un'altra taglia a questo. – 13aal

risposta

2

Si potrebbe provare a recuperarli direttamente dal Registro di sistema. Le impostazioni dovrebbe essere in

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

ma a seconda di come la vostra utility viene eseguita, potrebbe avere problemi di accesso a alveare appropriata.

Oppure, forse ... dove un'utilità non è sufficiente ... utilizzare two.

+0

Questa è un'ottima risposta, e mi piace l'idea, come posso accedere al registro tramite 'ruby'? – 13aal

+0

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

+0

E tuttavia, non c'è un 'proxyserver',' utente' o 'pass' nel mio registro di sistema. Esiste comunque 'Reg_DWORD' Proxyenable', 'AutoConfigProxy REG_SZ' e' MigrateProxy REG_DWORD'. Qualcuno di questi è quello che deve essere modificato? – 13aal