ver - ¿Por qué no funciona cURL con la Autenticación de Windows en IIS7?
no está autorizado a ver esta página los encabezados de autenticación no son válidos (4)
Si está utilizando la Autenticación de Windows, debe usar NTLM:
curl --ntlm --user username:password http://example.com
Estoy intentando acceder a un servicio que está detrás de la Autenticación de Windows. Pensé que podría pasar las credenciales de la misma forma que las credenciales de Autenticación Básica HTTP, pero no está funcionando. Cuando hago lo siguiente, aparece un error 401 y estoy absolutamente seguro de que la contraseña es correcta.
curl --user username:password http://example.com
¿Por qué esto no funciona?
Solo quiero agregar que la autorización puede incluir varios redireccionamientos y que la autenticación NTLM puede ser necesaria para la segunda solicitud o para las siguientes, pero no para la primera. En este caso, las respuestas aquí no funcionarán.
El caso es que CURL envía las credenciales solo con la primera solicitud , mientras que las puede necesitar para la segunda, por ejemplo. Para pasar credenciales con todas las solicitudes, use la opción --location-trusted
.
De la documentación de CURL ( opción -L
):
Cuando se usa autenticación, curl solo envía sus credenciales al host inicial. Si una redirección lleva curl a un host diferente, no podrá interceptar el usuario + contraseña. Ver también --location-trusted sobre cómo cambiar esto.
Esta nota importante me ayudó a autorizar en el sitio web de mi compañía. Espero que ayude a alguien más.
También puede dejar los campos de nombre de usuario y contraseña vacíos ( -u :
y Curl usará sus credenciales actuales de su entorno:
curl --ntlm -u : http://example.com
Según los docs (en -u, --user
)
Si usa un binario curl compatible con SSPI de Windows y realiza Kerberos V5, Negociar, NTLM o Autenticación implícita, puede indicar a curl que seleccione el nombre de usuario y la contraseña de su entorno especificando un solo punto con esta opción: "-u:" .
Tuve el mismo problema contigo, pero modifiqué la configuración de iis server para autenticarte, para habilitar la autenticación HTTP básica o digestiva, una vez hecho esto, podrías usar la autenticación más simple, perdón por mi mal inglés