Identifiants du système Windows dans les requêtes Go HTTP NTLM : une solution avec Go-OLE
Pour effectuer l'authentification NTLM dans une requête HTTP Go à l'aide de informations d'identification système de l'utilisateur Windows, envisagez l'approche suivante :
En tirant parti de la prise en charge de Go pour l'interopérabilité COM, il est possible d'utiliser l'objet WinHTTPRequest pour établir une connexion HTTP avec l'authentification NTLM. En exploitant le package go-ole, cela peut être réalisé comme suit :
<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>
En utilisant le package go-ole pour interagir avec l'objet WinHTTPRequest, cet extrait de code fournit une solution pour effectuer l'authentification NTLM à l'aide du informations d'identification système de l'utilisateur Windows, sans qu'il soit nécessaire de spécifier manuellement un nom d'utilisateur ou un 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!