Wie verwenden Sie Internet Explorer-proxy-server-Einstellungen und Ihre Anmeldeinformationen .Net-Anwendung
Wie zu verwenden der gespeicherten proxy-Einstellungen und Anmeldeinformationen als Standard für HttpWebRequests? Die proxy-Einstellungen nicht zugänglich sind und verwendet werden, aber nicht die Anmeldeinformationen:
IWebProxy proxy = WebRequest.GetSystemWebProxy();
proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
WebRequest.DefaultWebProxy = proxy;
Sind dort alle Berechtigungen zur Verwendung der Anmeldeinformationen?
Klappt es mit der übergabe der Zugangsdaten per NetworkCredential-Instanz:
proxy.Credentials = new NetworkCredential("username", "password");
Aber ich möchte die erretteten vom Betriebssystem/IE.
Edit:
Ich bin mit third-party-lib zu erstellen und den Aufruf des HttpWebRequests, die übergeben werden sollen, durch den proxy. Könnte sein, dass ein Teil des Problems?
Nutzung der App.Config Datei mit diesem Inhalt funktioniert nicht, entweder
<configuration>
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
</defaultProxy>
</system.net>
</configuration>
CredentialCache.DefaultNetworkCredentials
ist eine Instanz vonNetworkCredential
. Was ist das problem mit ihm? Fehlermeldung/exception?- Edit: Keine Fehlermeldung und keine Ausnahme für die obigen Zeilen nur leere Zeichenfolgen für Benutzernamen und Kennwort. Aber beim Versuch zum herstellen einer Verbindung über proxy, erhalte ich einen HTTP 407 Proxyauthentifizierung Erforderlich-Antwort.
- Ist diese Anwendung läuft als windows-Dienst, der gegen eine Konsole oder Formulare, etc app?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte dieses genaue Problem vielleicht zwei Wochen her!! HTTP 407 Fehler. Ich habe versucht beide Vorschläge, legen Sie Netzwerk-Anmeldeinformationen ein, und fügen Sie die Standard-proxy-line in der app.config, aber weder gearbeitet. Seltsam auch, denn ich habe nicht dieses Problem auf eine vb-Anwendung, die ich im letzten Jahr geschrieben, dass die Taten genau das gleiche, gehen zu einer web-site und laden Sie sich den Quelltext als string. Als ich es dann geschafft, ich lief in dieses Problem, aber das hinzufügen der defaultProxy line-in App.config bearbeitet!!! Komisch.
Dies ist, wie ich in der Lage war, rund um das Thema.
Glaube ich nicht, erstellen Sie einen proxy, ich weisen Sie dem Standardwert (gezogen von der app.config) für die webRequest-proxy-Attribut. Ich dann sicher, dass "UseDefaultCredentials" ist auf "true" gesetzt.
Ich fügte hinzu, diese an die app.config (das gleiche wie im obigen post).
Hier ' s der kicker (und ich wünschte, ich könnte erklären, warum das mein Problem gelöst). Gleich nachdem ich die erstellen Sie die Anfrage und weisen Sie den proxy mit dem richtigen Anmeldeinformationen... ich hatte einen cookie-container und weisen Sie auf meine web-Anfrage. Im ernst, ich weiß nicht, warum das dieses Problem gelöst, weil ich nicht haben, es zu tun, bevor.
Ich hoffe das hilft dir.
Hier ist der komplette code (abzüglich der app.config-Zeilen):
Als klugerama bereits vorgeschlagen, sollten Sie verwenden
CredentialCache.DefaultNetworkCredentials
.Diese enthält die Netzwerk-Anmeldeinformationen , auch wenn Sie scheinen leer.
Hatte ich gerne fügen Sie eine weitere Antwort von diese post auf SO mit eine hervorragende Erklärung:
Also die Dinge, die Sie prüfen sollten, ist:
Überprüfen Sie Ihre
app.config
(oderweb.config
) - Datei, wenn es vorhanden ist. Wenn Sie diese proxy-Einstellungen werden in der gesamten Anwendung, stellen Sie sicher, dass die folgenden in der Datei (erstellen Sie ihn, falls erforderlich):Werden Sie nicht brauchen, um etwas anderes in deinem code; alle
WebRequest
- Instanzen verwenden Sie einfach die proxy.Wenn Sie Ihre proxy-Einstellungen sind nicht gehen, um in der gesamten Anwendung, dann stellen Sie sicher, diese Einstellungen sind nicht in der
.config
Datei oben, und sicher sein, um Sie im code wie erforderlich.Dieser arbeitete für mich. Natürlich müssen Sie fügen Sie die URL. Der code-Ausschnitt-es wurde gezogen aus einer app habe ich gemacht, sendet XML-oder Soap-Anfragen und-Antworten zu einer Firmen-web-Dienst, benötigt werden verwendet werden, während man auf oder von einem anderen Unternehmen Cisco Any-Connect-Netzwerk.
App.config-Datei: