Heim >Backend-Entwicklung >Golang >Wie führe ich die NTLM-Authentifizierung in Go-HTTP-Anfragen mit Systemanmeldeinformationen durch?
NTLM-Authentifizierung in Go-HTTP-Anfragen mit Systemanmeldeinformationen
In dieser Frage sucht der Benutzer nach Anleitung zur Durchführung der Windows-NTML-Authentifizierung in einem Go-HTTP Anfrage unter Verwendung der Systemanmeldeinformationen des aufrufenden Benutzers. Sie stellen Beispiele aus C# und Python bereit, die zeigen, wie dies in diesen Sprachen erreicht werden kann.
Die Lösung liegt in der Verwendung der Go-Ole-Bibliothek, die die Verwendung von WinHTTPRequest in Go ermöglicht. Durch die Verfolgung eines ähnlichen Ansatzes wie im Python-Beispiel ist es möglich, die NTML-Authentifizierung mit Systemanmeldeinformationen in Go zu implementieren.
Hier ist der bereitgestellte Codeausschnitt in Go, der dies erreicht:
<code class="go">package main import ( "fmt" ole "github.com/go-ole/go-ole" "github.com/go-ole/go-ole/oleutil" ) func main() { ole.CoInitialize(0) defer ole.CoUninitialize() unknown, _ := oleutil.CreateObject("WinHTTP.WinHTTPRequest.5.1") request, _ := unknown.QueryInterface(ole.IID_IDispatch) oleutil.CallMethod(request, "SetAutoLogonPolicy", 0) oleutil.CallMethod(request, "Open", "GET", "http://example.com", false) oleutil.CallMethod(request, "Send") resp := oleutil.MustGetProperty(request, "ResponseText") fmt.Println(resp.ToString()) }</code>
Dieser Code initialisiert das WinHTTPRequest-Objekt, legt die Richtlinie für die automatische Anmeldung so fest, dass die Anmeldeinformationen des aktuellen Benutzers verwendet werden, öffnet eine GET-Anfrage an die angegebene URL, sendet die Anfrage und ruft den Antworttext ab.
Das obige ist der detaillierte Inhalt vonWie führe ich die NTLM-Authentifizierung in Go-HTTP-Anfragen mit Systemanmeldeinformationen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!