"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सिस्टम क्रेडेंशियल्स के साथ गो HTTP अनुरोधों में एनटीएलएम प्रमाणीकरण कैसे करें?

सिस्टम क्रेडेंशियल्स के साथ गो HTTP अनुरोधों में एनटीएलएम प्रमाणीकरण कैसे करें?

2024-11-16 को प्रकाशित
ब्राउज़ करें:441

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

सिस्टम क्रेडेंशियल के साथ गो HTTP अनुरोधों में एनटीएलएम प्रमाणीकरण

इस प्रश्न में, उपयोगकर्ता गो HTTP में विंडोज एनटीएमएल प्रमाणीकरण करने पर मार्गदर्शन चाहता है कॉलिंग उपयोगकर्ता के सिस्टम क्रेडेंशियल्स का उपयोग करके अनुरोध करें। वे C# और Python से उदाहरण प्रदान करते हैं जो दर्शाता है कि उन भाषाओं में इसे कैसे प्राप्त किया जाए।

समाधान गो-ओले लाइब्रेरी का उपयोग करने में निहित है, जो गो में WinHTTPRequest के उपयोग को सक्षम बनाता है। पायथन उदाहरण के समान दृष्टिकोण का पालन करके, गो में सिस्टम क्रेडेंशियल्स के साथ एनटीएमएल प्रमाणीकरण लागू करना संभव है।

यहां गो में प्रदान किया गया कोड स्निपेट है जो इसे पूरा करता है:

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

यह कोड WinHTTPRequest ऑब्जेक्ट को प्रारंभ करता है, वर्तमान उपयोगकर्ता के क्रेडेंशियल्स का उपयोग करने के लिए ऑटो लॉगऑन नीति सेट करता है, निर्दिष्ट यूआरएल पर एक GET अनुरोध खोलता है, अनुरोध भेजता है, और प्रतिक्रिया पाठ पुनर्प्राप्त करता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3