http - passing - El uso de Curl con la autenticación NTLM para hacer una publicación está fallando
passing token curl (2)
Parece que no puedo envolver mi cabeza alrededor de esto. Estoy tratando de automatizar una carga de un csv, pero el curl está fallando con un 401.
curl -v --ntlm -u username --upload-file ~/galaxy/forums/pt_update.csv https://connect.example.com/11063/csv_import?op=add -k
Enter host password for user ''username:
* About to connect() to connect.example.com port 443 (#0)
* Trying x.x.x.x... connected
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using RC4-MD5
* Server certificate:
* subject: C=US; ST=Washington; L=internetland; O=example.com Inc.; CN=connect.example.com
* start date: 2012-06-11 14:53:47 GMT
* expire date: 2013-06-11 14:53:47 GMT
* common name: connect.example.com (matched)
* issuer: DC=com; DC=example; DC=ant; CN=example.com Infosec CA G2
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
* Server auth using NTLM with user ''username''
> PUT /11063/csv_import?op=add HTTP/1.1
> Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: connect.example.com
> Accept: */*
> Content-Length: 0
> Expect: 100-continue
>
< HTTP/1.1 401 Authorization Required
< Date: Fri, 29 Mar 2013 03:47:00 GMT
< Server: Server
< WWW-Authenticate: Basic realm="ANT (Windows) Login"
< Content-Length: 401
< Connection: close
< Content-Type: text/html; charset=iso-8859-1
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn''t understand how to supply
the credentials required.</p>
</body></html>
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):
Reemplazé el ejemplo donde está mi dominio real y ciertamente estoy usando el nombre de usuario / pw correcto para mi dominio.
Intenta esto
Si tiene una página alojada en IIS y que funciona con NTLM, debe poner:
(por ejemplo en la página de Sharepoint)
curl http://enterprisesharepoint -v --ntlm --negotiate -u USER123:PASSWORD123
Es un buen trabajo para mí y puedes ver el mensaje de los encabezados.
--Editar--
si pone negociar, esto le da a la cuenta local e inicia sesión con el servidor, si un nombre de usuario y una contraseña son incorrectos, no importa porque la negociación se realiza automáticamente con la cuenta de Windows para el usuario local registrado. Si no te gusta este comportamiento, debes poner solo ntlm para el inicio de sesión correcto de ntlm.
Los siguientes trabajos
curl -X POST -k -v --ntlm --negotiate -u usernamehere -F "csv=@pt_update.csv" -F "op=add" " https://google.com/csv_import "