2009-04-15 9 views
2

Ich entwickle gerade ein IE-Plugin mit .Wie kann ich IE-Anmeldeinformationen in meinem Code verwenden?

Dieses Plugin hat einige Web zum Beispiel auf MSDN gepostet ähnlich Schaben:

WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html"); 

request.Credentials = CredentialCache.DefaultCredentials; 

HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

Stream dataStream = response.GetResponseStream(); 

StreamReader reader = new StreamReader (dataStream); 

string responseFromServer = reader.ReadToEnd(); 

reader.Close(); 
dataStream.Close(); 
response.Close(); 

Allerdings, wenn ich diesen Code ausführen ich die folgende Fehlermeldung angezeigt:

The remote server returned an error: (407) Proxy Authentication Required.

ich zur Zeit bin hinter einem Proxy-Server arbeiten und verwendet die NetworkCredential Klasse, um manuell meine Netzwerk-Anmeldeinformationen

request.Credentials = new System.Net.NetworkCredential("name", "password", "domain"); 

aber ich bekomme immer noch den gleichen Fehler.

Auch wenn mein Problem gelöst ist, weiß ich, dass einige Benutzer des Plugins hinter einem Proxy-Server sein werden.

Ich möchte wissen, wie ich IE Anmeldeinformationen erhalten und es in meinem Code verwenden kann, um es an Request.Credentials zuweisen.

Vielleicht so etwas wie folgt aus:

request.Credentials = IE.DefaultCredentials; 

Antwort

5

Sie sind für die Website die Anmeldeinformationen Einstellung, aber Sie müssen Anmeldeinformationen für den Proxy.

Set request.Proxy.Credentials.

(Verwenden Sie auch using Anweisungen für die Antwort/Strom/Leser, anstatt sie manuell zu schließen, sonst werden sie auslaufen, wenn eine Ausnahme ausgelöst wird.)

EDIT: Zum Beispiel die Standardanmeldeinformationen verwenden für der Proxy auch:

request.Proxy.Credentials = CredentialCache.DefaultCredentials; 
+0

Vielen Dank, ich werde das versuchen, aber was wirklich wichtig für mich ist, wie IE-Anmeldeinformationen in meinem Code zu verwenden. Kannst du mir in dieser Hinsicht helfen? – bahith

+0

Ähm, ja - setze request.Proxy.Credentials = CredentialCache.DefaultCredentials –