Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Systemanmeldeinformationen für die NTLM-Authentifizierung in Go-HTTP-Anfragen verwenden?

Wie kann ich Systemanmeldeinformationen für die NTLM-Authentifizierung in Go-HTTP-Anfragen verwenden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 21:24:02950Durchsuche

How can I use system credentials for NTLM authentication in Go HTTP requests?

NTLM-Authentifizierung in Go-HTTP-Anfragen mithilfe von Systemanmeldeinformationen

Die Authentifizierung mit NTLM in einer Go-HTTP-Anfrage kann durch die Verwendung der Systemanmeldeinformationen des Benutzers vereinfacht werden . In anderen Sprachen wie C# und Python ist dies mithilfe integrierter Bibliotheken möglich.

Um die NTLM-Authentifizierung mit Systemanmeldeinformationen in Go durchzuführen, können Sie das Paket go-ole nutzen. Dieses Paket ermöglicht die Interaktion mit COM-Objekten (Component Object Model), einschließlich des WinHTTPRequest-Objekts.

Hier ist ein Codeausschnitt, der zeigt, wie dies erreicht wird:

<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>

Durch die Nutzung des WinHTTPRequest-Objekts und Wenn Sie die AutoLogonPolicy auf 0 setzen, werden die Systemanmeldeinformationen automatisch auf die HTTP-Anfrage angewendet. Dieser Ansatz vereinfacht die NTLM-Authentifizierung in Go und ermöglicht es Ihnen, Anfragen zu stellen, ohne explizit Benutzernamen und Passwort-Anmeldeinformationen anzugeben.

Das obige ist der detaillierte Inhalt vonWie kann ich Systemanmeldeinformationen für die NTLM-Authentifizierung in Go-HTTP-Anfragen verwenden?. 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