Classe HttpClient & Proxy

mercoledì 25 febbraio 2015 - 11.27
Tag Elenco Tags  VB.NET  |  .NET 4.0

totti240282 Profilo | Guru

Ciao,
è possibile far leggere a questa classe le impostazioni di default del proxy di Internet Explorer ?

Vorrei che se l' utente ha impostato il proxy si apra la classica casella di inserimento user e password.

Grazie.
C'è solo un capitano !!!!!!

0v3rCl0ck Profilo | Guru

Ciao, io a suo tempo avevo creato due classi specializzate però legate a WebClient, una per aggiungere la decompressione automatica gzip, e l'altra per abilitare i cookie, forse da queste puoi trarre spunto per potere fare la stessa cosa con l'HttpClient:

http://dennymichael.net/2013/06/14/c-enable-automatic-decompression-on-system-net-webclient/

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

http://dennymichael.net/2014/03/16/c-enable-cookie-container-on-system-net-webclient-for-authentication/

public class CookieWebClient : WebClient { public CookieContainer CookieContainer { get; private set; } /// <summary> /// This will instanciate an internal CookieContainer. /// </summary> public CookieWebClient() { this.CookieContainer = new CookieContainer(); } /// <summary> /// Use this if you want to control the CookieContainer outside this class. /// </summary> public CookieWebClient(CookieContainer cookieContainer) { this.CookieContainer = cookieContainer; } protected override WebRequest GetWebRequest(Uri address) { var request = base.GetWebRequest(address) as HttpWebRequest; if (request == null) return base.GetWebRequest(address); request.CookieContainer = CookieContainer; return request; } }

dato che HttpClient è una sorta di evoluzione di WebClient, dovresti riuscire ad ottenere la stessa cosa, fammi sapere, così magari faccio un altro paio di articoli


Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

0v3rCl0ck Profilo | Guru

Mi sono appena reso conto che HttpClient ha il supporto integrato per proxy:

var handler = new HttpClientHandler { Proxy = new WebProxy("http://localhost:8888", false), UseProxy = true }; var client = new HttpClient(handler) { BaseAddress = "http://.........", };

e non ho fatto attenzione che tu specificatamente volevi utilizzare quelli settati su internet explorer

dovresti riuscire a controllare il defaultProxy direttamente da file di configurazione sotto system.net:

<system.net> <defaultProxy enabled="true" useDefaultCredentials="true"> <proxy usesystemdefault="True" /> </defaultProxy> </system.net>

http://msdn.microsoft.com/en-us/library/dkwyc043.aspx



Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

totti240282 Profilo | Guru

Sio stavo provando questa anche io :

<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy usesystemdefault="True" />
</defaultProxy>
</system.net>

Ma sembra non andare.

Se imposto da webconfig il proxy , poi devo abilitarlo anche nell' httpclient ?

Almeno la proprietà useproxy=true.

Grazie.
C'è solo un capitano !!!!!!

0v3rCl0ck Profilo | Guru

>Se imposto da webconfig il proxy , poi devo abilitarlo anche nell' httpclient ?
>Almeno la proprietà useproxy=true.

Fai un tentativo :)


Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

totti240282 Profilo | Guru

Lunedì ci riprovo e ti faccio sapere, grazie.
C'è solo un capitano !!!!!!

0v3rCl0ck Profilo | Guru

ti avviso che sarò in ferie fino al 16 marzo


Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

totti240282 Profilo | Guru

Beato te :)

Buona ferie !
C'è solo un capitano !!!!!!

0v3rCl0ck Profilo | Guru

Grazie, ogni tanto ci vuole!



Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

totti240282 Profilo | Guru

Purtroppo non funziona non legge le impostazioni da IE.
C'è solo un capitano !!!!!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5