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

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

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

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

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

एक डेवलपर के रूप में, आपको ऐसे परिदृश्यों का सामना करना पड़ सकता है जहां आपको HTTP अनुरोध करने और प्रमाणित करने की आवश्यकता होती है आपके एप्लिकेशन को चलाने वाले उपयोगकर्ता के सिस्टम क्रेडेंशियल का उपयोग करना। विंडोज़ परिवेश में, यह एनटीएलएम (नेगोशिएट टोकन लेवल मैसेज) प्रमाणीकरण का उपयोग करके किया जा सकता है। जबकि C# और Python में समाधान उपलब्ध हैं, Go में कार्यान्वयन कम सरल है।

Solution with Go-ole

शोध के बाद, हमने पाया है कि गो-ओले लाइब्रेरी WinHTTPRequest इंटरफ़ेस तक पहुंच प्रदान करती है, जिसका उपयोग सिस्टम क्रेडेंशियल के साथ NTLM प्रमाणीकरण करने के लिए किया जा सकता है। इसे प्राप्त करने का तरीका यहां बताया गया है:

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 उदाहरण बनाता है। सिस्टम क्रेडेंशियल्स के उपयोग को सक्षम करने के लिए SetAutoLogonPolicy विधि को कॉल किया जाता है। फिर, अनुरोध ओपन और सेंड विधियों के साथ भेजा जाता है। अंत में, रिस्पॉन्सटेक्स्ट प्रॉपर्टी का उपयोग करके प्रतिक्रिया पाठ प्राप्त किया जाता है। गो में क्रेडेंशियल, विंडोज़ वातावरण में HTTP अनुरोधों के लिए एक सहज दृष्टिकोण प्रदान करता है।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3