Ich habe eine Windows-Formularanwendung, die ein WebBrowser
-Steuerelement enthält. Die Idee ist, dass die WebBrowser
Webseiten ohne Benutzerinteraktion surft. Das WebBrowser
läuft über einen Proxy, um auf das Internet zuzugreifen.
Ich kann sehen, dass die Anforderungen auf dem Proxy ankommen, aber sie werden abgelehnt, weil die Proxy-Authentifizierung fehlschlägt.
Ich habe den Header Proxy-Authorization: Basic
hinzugefügt. Dies funktioniert für eine normale http-Seite, aber es scheint nicht zu funktionieren https:
Dabei ist ws
gleich new WebBrowser()
. Die Zugangsdaten sind korrekt, weil es funktioniert, wenn ich es manuell mache.
Irgendeine Idee, wie ich die Proxy-Anmeldeinformationen programmatisch authentifizieren kann?
Es gibt eine Lösung hier:
Es verwendet winnet.dll
sowie einige Schnittstellen in der Klasse WebBrowser
, einschließlich IAuthenticate
.
Ich konnte es nicht versuchen, sieht aber vielversprechend aus.
Keines davon wird funktionieren. Aufgrund der Windows-Sicherheitsfunktionen wird immer der Benutzername und das Passwort angezeigt. Sie müssen die Anmeldeinformationen zuerst in Windows-Anmeldeinformationen speichern. Als erstes müssen Sie das 'CredentialManagement' Paket über den NuGet Package Manager herunterladen. Sie müssen zuerst die Proxy-Informationen in der Registrierung mit Benutzernamen und Passwort speichern. Hier ist der Code für die Registrierung
%Vor%Dann müssen Sie die Anmeldeinformationen festlegen
%Vor%Ich benutze das mit .NET 4.5.2
Tags und Links c# winforms proxy authentication webbrowser-control