Heim >Backend-Entwicklung >Golang >Wie führe ich die NTLM-Authentifizierung in Go-HTTP-Anfragen mit Systemanmeldeinformationen durch?

Wie führe ich die NTLM-Authentifizierung in Go-HTTP-Anfragen mit Systemanmeldeinformationen durch?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 11:46:30972Durchsuche

How to Perform NTLM Authentication in Go HTTP Requests with System Credentials?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn