Eu uso (em um ambiente de domínio do Windows):
curl --ntlm -u : ...
A cUrl sabe fornecer minhas credenciais de domínio e funciona sempre.
Estou escrevendo um script que usa cURL para extrair dados de um servidor web interno. Eu posso usar explicitamente --user combinado com --ntlm e tudo funciona bem, mas não consigo reconhecê-lo e passá-lo de forma transparente. Se eu visitar o mesmo site no Chrome / Firefox / IE, ele imediatamente me dará permissões sem nenhum aviso (estamos usando um proxy aqui, se isso for importante). O servidor está usando o IIS.
Use -u :
, que fornece um usercode e senha vazios, para obter o cURL para selecioná-los no armazenamento de credenciais.
Eu uso isso no Unix com GSSAPI e curl -u : --negotiate ...
Para elaborar o @Phil P, responda-lhe como fiz isso na minha caixa Ubuntu.
sudo apt-get install krb5-user
Digite o seguinte no seu /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