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!