मैं अपने विंडोज क्रेडेंशियल्स को cURL में कैसे पास कर सकता हूं?


20

मैं एक स्क्रिप्ट लिख रहा हूं जो आंतरिक वेब सर्वर से डेटा खींचने के लिए cURL का उपयोग करता है। मैं स्पष्ट रूप से --user --ntlm और सब कुछ के साथ संयुक्त रूप से उपयोग कर सकता हूं, लेकिन मुझे यह नहीं मिल सकता है कि किसको लॉग इन करें और इसे पारदर्शी रूप से पास करें। अगर मैं क्रोम / फ़ायरफ़ॉक्स / IE में एक ही साइट पर जाता हूं, तो यह तुरंत मुझे बिना किसी संकेत के अनुमति देता है (यदि यह महत्वपूर्ण है तो हम यहां एक प्रॉक्सी का उपयोग कर रहे हैं)। सर्वर IIS का उपयोग कर रहा है।

जवाबों:


26

मैं उपयोग करता हूं (Windows डोमेन वातावरण में):

curl --ntlm -u : ...

cUrl मेरे डोमेन क्रेडेंशियल्स की आपूर्ति करना जानता है और यह हर बार काम करता है।


3
धन्यवाद @ BillP3rd! बस एक सिर: यह पूरी तरह से विंडोज कमांड प्रॉम्प्ट में कर्ल चलाने पर काम करता है, लेकिन अगर आप अपने विंडोज मशीन पर साइगविन जैसे टर्मिनल एमुलेटर के भीतर चल रहे हैं तो यह काम नहीं करता है।
एरिन्समैथ्यू

5

उपयोग करें -u :जो एक खाली यूजरकोड और पासवर्ड प्रदान करता है, जो क्रेडेंशियल स्टोर से लेने के लिए cURL प्राप्त करता है।

मैं इसे GSSAPI के साथ यूनिक्स पर उपयोग करता हूं और curl -u : --negotiate ...


1

@ पील पी पर जवाब देने के लिए कि मैंने अपने ubuntu बॉक्स से कैसे किया।

  1. अपने डोमेन नियंत्रक निर्देशों के आईपी पते का पता लगाएं कि यहाँ कैसे करें
  2. केर्बरोस स्थापित करें sudo apt-get install krb5-user
  3. अपने में निम्न दर्ज करें /etc/krb5.conf

    [libdefaults]
        default_realm = YOURDOMAN
        # note that this must be in UPPER CASE
        krb4_config = /etc/krb.conf
        krb4_realms = /etc/krb.realms
        kdc_timesync = 1
        ccache_type = 4
        forwardable = true
        proxiable = true
        v4_instance_resolve = false
        v4_name_convert = {
            host = {
                rcmd = host
                ftp = ftp
            }
            plain = {
                something = something-else
            }
        }
        fcc-mit-ticketflags = true
    [realms]
        YOURDOMAN = {
            kdc = YOUR_DOAMIN_CONTROLLER_IP
        }
    [domain_realm]
        yourdomain = yourdomain
        yourdomain. = yourdomain
    
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.