"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment effectuer l'authentification NTLM dans les requêtes HTTP Go avec les informations d'identification système ?

Comment effectuer l'authentification NTLM dans les requêtes HTTP Go avec les informations d'identification système ?

Publié le 2024-11-16
Parcourir:378

How to Perform NTLM Authentication in Go HTTP Requests with System Credentials?

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 Go HTTP 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 :

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())
}

Ce code initialise l'objet WinHTTPRequest, définit la stratégie 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.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3