Laden...

Proxy Server ermitteln

Erstellt von B A L U vor 15 Jahren Letzter Beitrag vor 15 Jahren 4.171 Views
B A L U Themenstarter:in
134 Beiträge seit 2007
vor 15 Jahren
Proxy Server ermitteln

Hallo,

ich habe grade irgendwie ein ziemliches Brett vor dem Kopf.

Folgender Code von der Microsoft Seite sollte mir eigentlich den Proxyserver zurückliefern:

            // Create a new request to the mentioned URL.                
            HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com");
            WebProxy myProxy = new WebProxy();
            // Obtain the 'Proxy' of the  Default browser.  
            myProxy = (IWebProxy) myWebRequest.Proxy;
            // Print the Proxy Url to the console.
            MessageBox.Show(myProxy.Address.ToString());

Ich bekomme hier aber folgende Fehlermeldung:


Cannot implicitly convert type 'System.Net.IWebProxy' to 'System.Net.WebProxy'.

Was das heißt ist ja soweit klar, aber ich sitz jetzt schon 2 Stunden drüber und finde einfach keine Lösung dafür.

Gibt es vielleicht sogar eleganteren Weg die Proxy-Einstellungen auszulesen?

Unter XP standen die noch in der Registry unter SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings

Bei Vista scheint es den Zweig zwar noch zu geben, aber der Proxy wird dort irgendwie nicht eingetragen 8o

Danke schonmal im Vorraus.

Viele Grüße

Tobias

P
82 Beiträge seit 2007
vor 15 Jahren

Hallo,

Du deklarierst myProxy als WebProxy und nicht als IWebProxy in Zeile 2.

Darum castest du falsch in Zeile 3.
Aber myWebRequest.Proxy liefert tatsächlich einen IWebProxy zurück, darum castest du besser auf WebProxy (wenn das geht)

Dann müsste reichen :


HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com");
WebProxy myProxy = (WebProxy)myWebRequest.Proxy;
MessageBox.Show(myProxy.Address.ToString());

1.200 Beiträge seit 2007
vor 15 Jahren

Hallo,

Du deklarierst myProxy als WebProxy und nicht als IWebProxy in Zeile 2.

Darum castest du falsch in Zeile 3.
Aber myWebRequest.Proxy liefert tatsächlich einen IWebProxy zurück, darum castest du besser auf WebProxy (wenn das geht)

Dann müsste reichen :

Oder besser:


HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com");
IWebProxy myProxy = (IWebProxy)myWebRequest.Proxy;
MessageBox.Show(myProxy.Address.ToString());

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!