Ich möchte mich bei einem Sharepoint-Portal anmelden, das einen Anmeldedialog aufruft, jedoch die NTLM-Authentifizierung verwendet. Wie kann ich die HTTP-Header in C# ändern, um eine erfolgreiche Anmeldeanforderung zu stellen? Ich nehme an, dass ich eine HTTPWebRequest zu einer Seite innerhalb des eingeloggten Abschnitts des Portals machen und die HTTP-Überschriftenansammlung neben diesem setzen sollte?Senden von HTTP-Headern mit HTTP-Webanforderung für NTLM-Authentifizierung
6
A
Antwort
18
Sie können dies mithilfe der WebRequest-Klasse tun.
WebRequest req = WebRequest.Create(tokenUri);
req.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
req.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
WebResponse resp = req.GetResponse();
StreamReader reader = new StreamReader(resp.GetResponseStream());
var token = reader.ReadToEnd().Trim();
Dieser Code liest die gesamte Antwort in eine Variable token
genannt.
2
Um NTLM zu verwenden, siehe John's Antwort. Wenn Sie übergreifende Header benötigen, sehen Sie sich die CookieContainer-Eigenschaft des HttpWebRequest-Objekts an. Sie müssen einen Verweis auf Ihren CookieContainer beibehalten und ihn an andere von Ihnen erstellte HttpWebRequests anhängen.
Verwandte Themen
- 1. Senden von SMS mit Übermittlungsnachricht
- 2. Senden von Benachrichtigungen mit GObjects
- 3. Senden von Dateien mit Httpwebrequest
- 4. Senden von Bildern mit HttpListener funktioniert nur für einige Bilder
- 5. thymeleaf Vorlage für das Senden von E-Mail mit Frühling
- 6. Senden von Remotebefehlen mit Plink
- 7. Senden von Daten mit socket.io
- 8. Senden von Daten mit Optionsfeldern
- 9. Senden von Nachrichten mit Websockets
- 10. Senden von Nachrichten mit {System.Net.Mail}
- 11. serialize Zeichenfolge für das Senden von
- 12. kafka.producer.async.DefaultEventHandler - Senden von Anfragen für Themen fehlgeschlagen
- 13. Senden von Datei-Daten mit AJAX-Formular senden
- 14. Senden von Daten für Benutzergruppe Knoten Express
- 15. Senden für von jQuery funktioniert nicht
- 16. Problem mit dem Deaktivieren von Senden-Schaltflächen auf Formular senden
- 17. Senden von APNS-Benachrichtigungen mit Java
- 18. Senden von Element-IDs auf Formular senden
- 19. Senden von Bildern mit Http Post
- 20. Datei senden mit Hilfe von PHP
- 21. Senden von 2 Nachrichten getrennt mit Socket
- 22. Senden/Empfangen von Bildern mit Socket
- 23. Senden von Formulardaten mit Jquery Ajax JSON
- 24. Problem Senden von E-Mail mit C#
- 25. Senden von Passwörtern mit Ajax zu PHP
- 26. ASP.NET Senden von Gmail mit SMTP-Server
- 27. Formular nicht mit Senden Schaltfläche senden
- 28. Senden von E-Mail mit MVC 3
- 29. Senden von Autorisierungsheadern mit jquery und ajax
- 30. Senden von HTTP-Post-Request mit Android
Wenn ich dies versuche, bekomme ich 'Der Remote-Server gab einen Fehler zurück: (401) Nicht autorisiert'. Gleiche URL/Benutzer/Passwort funktionieren unter Firefox. NTLM über HTTP –