Я пытаюсь использовать Curl, чтобы вытащить некоторые данные из Microsoft Dynamics Nav.Аутентификация OData с помощью Curl for Dynamics Nav
Я могу легко получить к нему доступ через мой браузер по этому адресу: http://kevans:(password)@192.168.0.30:8048/Sandbox/OData/
, и он отлично работает.
В Curl я пробовал это: curl --ntlm -u kevans "http://192.168.0.30:8048/Sandbox/OData/" -v
, введите мой пароль в командной строке, но он возвращает ошибку 401 Unauthorized.
Есть ли что-то, что нужно сделать, чтобы сделать его доступным для Curl?
Вот выход Curl:
curl --ntlm -u kevans "http://192.168.0.30:8048/Sandbox/OData/" -v
Enter host password for user 'kevans':
* About to connect() to 192.168.0.30 port 8048 (#0)
* Trying 192.168.0.30...
* Adding handle: conn: 0x525fe0
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x525fe0) send_pipe: 1, recv_pipe: 0
* Connected to 192.168.0.30 (192.168.0.30) port 8048 (#0)
* Server auth using NTLM with user 'kevans'
> GET /Sandbox/OData/ HTTP/1.1
> Authorization: NTLM TlRMTVNTUAABAAAAt4II4gAAAAAAAAAAAAAAAAAAAAAGA4AlAAAADw==
> User-Agent: curl/7.33.0
> Host: 192.168.0.30:8048
> Accept: */*
>
< HTTP/1.1 401 Unauthorized
< Content-Length: 0
* Server Microsoft-HTTPAPI/2.0 is not blacklisted
< Server: Microsoft-HTTPAPI/2.0
< WWW-Authenticate: Negotiate
< Date: Thu, 05 Feb 2015 20:25:26 GMT
<
* Connection #0 to host 192.168.0.30 left intact
Вещи, которые я пробовал:
- используя
--negotiate
аргумент наряду с--ntlm
- использованием
--anyauth
- используя свой домен
-u MYDOMAIN\kevans
- с использованием
-u MYDOMAIN\kevans:password
и-u kevans:password