Ответ 1
Следующие работы
curl -X POST -k -v --ntlm --negotiate -u usernamehere -F "[email protected]_update.csv" -F "op=add" "https://google.com/csv_import"
Кажется, я не могу обернуться вокруг этого. Я пытаюсь script автоматизировать загрузку csv, но завиток не работает с 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):
Я заменил пример, где мой фактический домен, и я, безусловно, использую правильное имя пользователя /pw для своего домена.
Следующие работы
curl -X POST -k -v --ntlm --negotiate -u usernamehere -F "[email protected]_update.csv" -F "op=add" "https://google.com/csv_import"
Попробуйте это
Если у вас есть страница, размещенная в IIS и работающая с NTLM, тогда вы должны поставить:
(например, на странице Sharepoint)
curl http://enterprisesharepoint -v --ntlm --negotiate -u USER123:PASSWORD123
Он отлично работает для меня, и вы можете видеть сообщение заголовков
- Edit -
если вы разместите соглашение, это даст локальную учетную запись и войдет в систему с сервером, если имя пользователя и пароль неверны, что независимо от того, как согласовать автоматическое завершение с учетной записью Windows для локального пользователя. Если вам не нравится это поведение, вы должны поместить только ntlm для правильного входа в систему ntlm.