Maison >développement back-end >Golang >Comment effectuer l'authentification NTLM dans les requêtes HTTP Go avec les informations d'identification système ?
Authentification NTLM dans les requêtes HTTP Go avec informations d'identification système
Dans cette question, l'utilisateur demande des conseils sur l'exécution de l'authentification Windows NTML dans un HTTP Go demande en utilisant les informations d’identification système de l’utilisateur appelant. Ils fournissent des exemples en C# et Python qui montrent comment y parvenir dans ces langages.
La solution réside dans l'utilisation de la bibliothèque go-ole, qui permet l'utilisation de WinHTTPRequest dans Go. En suivant une approche similaire à celle de l'exemple Python, il est possible d'implémenter l'authentification NTML avec les informations d'identification du système dans Go.
Voici l'extrait de code fourni dans Go qui accomplit cela :
<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>
Ce code initialise l'objet WinHTTPRequest, définit la politique de connexion automatique pour utiliser les informations d'identification de l'utilisateur actuel, ouvre une requête GET à l'URL spécifiée, envoie la requête et récupère le texte de la réponse.
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!