Maison >développement back-end >Golang >Comment puis-je utiliser les informations d'identification du système pour l'authentification NTLM dans les requêtes HTTP Go ?
Authentification NTLM dans les requêtes HTTP Go à l'aide des informations d'identification du système
L'authentification avec NTLM dans une requête HTTP Go peut être simplifiée en utilisant les informations d'identification système de l'utilisateur . Dans d'autres langages comme C# et Python, cela est réalisable à l'aide des bibliothèques intégrées.
Pour effectuer l'authentification NTLM avec les informations d'identification système dans Go, vous pouvez exploiter le package go-ole. Ce package permet d'interagir avec les objets COM (Component Object Model), y compris l'objet WinHTTPRequest.
Voici un extrait de code qui montre comment y parvenir :
<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>
En exploitant l'objet WinHTTPRequest et en définissant AutoLogonPolicy sur 0, les informations d'identification du système sont automatiquement appliquées à la requête HTTP. Cette approche simplifie l'authentification NTLM dans Go, vous permettant de faire des demandes sans fournir explicitement les informations d'identification du nom d'utilisateur et du mot de passe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!