"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como realizar a autenticação NTLM em solicitações HTTP Go com credenciais do sistema?

Como realizar a autenticação NTLM em solicitações HTTP Go com credenciais do sistema?

Publicado em 2024-11-16
Navegar:249

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

Autenticação NTLM em solicitações HTTP Go com credenciais do sistema

Nesta pergunta, o usuário busca orientação sobre como realizar a autenticação NTML do Windows em um Go HTTP solicitação usando as credenciais do sistema do usuário chamador. Eles fornecem exemplos de C# e Python que demonstram como conseguir isso nessas linguagens.

A solução está na utilização da biblioteca go-ole, que permite o uso de WinHTTPRequest em Go. Seguindo uma abordagem semelhante ao exemplo do Python, é possível implementar a autenticação NTML com credenciais do sistema em Go.

Aqui está o trecho de código fornecido em Go que faz isso:

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

Este código inicializa o objeto WinHTTPRequest, define a política de logon automático para usar as credenciais do usuário atual, abre uma solicitação GET para o URL especificado, envia a solicitação e recupera o texto de resposta.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3