Bagaimana untuk Mengesahkan Permintaan NTLM HTTP Go dengan Bukti Kelayakan Sistem Windows?

Barbara Streisand
Lepaskan: 2024-10-24 19:11:02
asal
133 orang telah melayarinya

How to Authenticate Go HTTP NTLM Requests with Windows System Credentials?

Kelayakan Sistem Windows dalam Permintaan NTLM HTTP Go: Penyelesaian dengan Go-OLE

Untuk melaksanakan pengesahan NTLM dalam permintaan HTTP Go menggunakan kelayakan sistem pengguna Windows, pertimbangkan pendekatan berikut:

Memanfaatkan sokongan Go untuk kebolehoperasian COM, adalah mungkin untuk menggunakan objek WinHTTPRequest untuk mewujudkan sambungan HTTP dengan pengesahan NTLM. Dengan memanfaatkan pakej go-ole, ini boleh dicapai seperti berikut:

<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>
Salin selepas log masuk

Dengan menggunakan pakej go-ole untuk berinteraksi dengan objek WinHTTPRequest, coretan kod ini menyediakan penyelesaian untuk melaksanakan pengesahan NTLM menggunakan kelayakan sistem pengguna Windows, tanpa perlu menentukan nama pengguna atau kata laluan secara manual.

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Permintaan NTLM HTTP Go dengan Bukti Kelayakan Sistem Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!