Windows kimlik bilgilerimi cURL'ye nasıl aktarabilirim?


20

Dahili bir web sunucusundan veri çekmek için cURL kullanan bir komut dosyası yazıyorum. Açık bir şekilde --ntlm ile birlikte --user kullanabilirsiniz ve her şey iyi çalışıyor, ama kimin giriş yaptığını tanımak ve şeffaf bir şekilde geçmek alamadım. Chrome / Firefox / IE'de aynı siteyi ziyaret edersem hemen herhangi bir bilgi istemi olmadan bana izin verir (Eğer önemliyse burada bir proxy kullanıyoruz). Sunucu IIS kullanıyor.

Yanıtlar:


26

(Windows etki alanı ortamında) kullanıyorum:

curl --ntlm -u : ...

cUrl alan adı bilgilerimi vermeyi biliyor ve her seferinde işe yarıyor.


3
Teşekkürler @ BillP3rd! Sadece bir uyarı: Bu, bir Windows komut isteminde curl çalıştırırken mükemmel çalışır, ancak Windows makinenizde Cygwin gibi bir terminal öykünücüsünde çalışıyorsanız çalışmaz.
ErinsMatthew

5

-u :CURL'nin bunları kimlik bilgisi deposundan almasını sağlamak için boş bir kullanıcı kodu ve parola sağlayan kullanın .

Bunu GSSAPI ile Unix'te kullanıyorum ve curl -u : --negotiate ...


1

@ Phil P üzerinde ayrıntılı olarak ubuntu kutusundan nasıl yaptığımı heres cevap.

  1. Bunu nasıl yapacağınıza ilişkin etki alanı denetleyicinizin IP adresini buradan öğrenin
  2. Kerberos yükleyin sudo apt-get install krb5-user
  3. Şunlara aşağıdakini girin: /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
    
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.