Windows-Systemanmeldeinformationen in Go-HTTP-NTLM-Anfragen: Eine Lösung mit Go-OLE
Um die NTLM-Authentifizierung in einer Go-HTTP-Anfrage mit dem durchzuführen Wenn Sie die Systemanmeldeinformationen des Windows-Benutzers benötigen, sollten Sie den folgenden Ansatz in Betracht ziehen:
Durch die Nutzung der Unterstützung von Go für COM-Interoperabilität ist es möglich, das WinHTTPRequest-Objekt zu verwenden, um eine HTTP-Verbindung mit NTLM-Authentifizierung herzustellen. Durch die Nutzung des go-ole-Pakets kann dies wie folgt erreicht werden:
<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() // Create a WinHTTPRequest object unknown, _ := oleutil.CreateObject("WinHTTP.WinHTTPRequest.5.1") request, _ := unknown.QueryInterface(ole.IID_IDispatch) // Set the auto login policy to use system credentials oleutil.CallMethod(request, "SetAutoLogonPolicy", 0) // Open the request with the desired URL oleutil.CallMethod(request, "Open", "GET", "http://example.com", false) // Send the request oleutil.CallMethod(request, "Send") // Retrieve the response text resp := oleutil.MustGetProperty(request, "ResponseText") // Print the response fmt.Println(resp.ToString()) }</code>
Durch die Verwendung des go-ole-Pakets zur Interaktion mit dem WinHTTPRequest-Objekt bietet dieses Code-Snippet eine Lösung zur Durchführung der NTLM-Authentifizierung mithilfe von Systemanmeldeinformationen des Windows-Benutzers, ohne dass manuell ein Benutzername oder ein Kennwort angegeben werden muss.
Das obige ist der detaillierte Inhalt vonWie authentifiziert man Go-HTTP-NTLM-Anfragen mit Windows-Systemanmeldeinformationen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!