ฉันจะส่งต่อข้อมูลรับรอง Windows ของฉันใน cURL ได้อย่างไร


20

ฉันกำลังเขียนสคริปต์ที่ใช้ cURL เพื่อดึงข้อมูลจากเว็บเซิร์ฟเวอร์ภายใน ฉันสามารถใช้ - ผู้ใช้ร่วมกับ --ntl อย่างชัดเจนและทุกอย่างทำงานได้ดี แต่ฉันไม่สามารถรับรู้ว่าใครเข้าสู่ระบบและผ่านมันอย่างโปร่งใส ถ้าฉันไปที่ไซต์เดียวกันใน Chrome / Firefox / IE มันจะให้สิทธิ์ฉันทันทีโดยไม่ต้องแจ้งใด ๆ (เรากำลังใช้พรอกซีที่นี่ถ้ามันสำคัญ) เซิร์ฟเวอร์ใช้ IIS

คำตอบ:


26

ฉันใช้ (ในระบบโดเมน Windows):

curl --ntlm -u : ...

cUrl รู้วิธีระบุข้อมูลรับรองโดเมนของฉันและใช้ได้ทุกครั้ง


3
ขอบคุณ @ BillP3rd! เพียงหัวเดียว: มันทำงานได้อย่างสมบูรณ์แบบเมื่อรัน curl ภายในพรอมต์คำสั่งของ Windows แต่ไม่ทำงานหากคุณกำลังทำงานภายใน terminal emulator เช่น Cygwin บนเครื่อง Windows ของคุณ
ErinsMatthew

5

ใช้-u :ซึ่งให้รหัสผู้ใช้และรหัสผ่านที่ว่างเปล่าเพื่อรับ cURL เพื่อเลือกสิ่งเหล่านั้นจากที่เก็บข้อมูลรับรอง

ฉันใช้สิ่งนี้กับ Unix กับ GSSAPI และ curl -u : --negotiate ...


1

การอธิบายอย่างละเอียดบน @Phil P ตอบเธออย่างที่ฉันทำจากกล่องอูบุนตู

  1. ค้นหาที่อยู่ IP ของคำแนะนำตัวควบคุมโดเมนของคุณเกี่ยวกับวิธีการทำที่นี่
  2. ติดตั้ง Kerberos 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
    
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.