2

我想将 curl 与 Kerberos 一起使用

curl --negotiate '<SOME_ULR>'

或者

curl --negotiate -u : '<SOME_ULR>'

但我得到了错误:

curl: option --negotiate: the installed libcurl version doesn't support this

我的操作系统:OS X El Capitan

卷发版:

curl -V
curl 7.52.1 (x86_64-apple-darwin13.4.0) libcurl/7.52.1 OpenSSL/1.0.2l zlib/1.2.8
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy

有任何想法吗?

4

2 回答 2

1

您可以尝试“--anyauth”选项,它告诉 curl 自己找出身份验证方法。

--anyauth

(HTTP) 告诉 curl 自己找出身份验证方法,并使用远程站点声称支持的最安全的方法。这是通过首先发出请求并检查响应标头来完成的,从而导致额外的网络往返。这用于代替设置特定的身份验证方法,您可以使用--basic、--digest、--ntlm 和--negotiate 来执行此操作。(在 7.10.6 中添加)

于 2018-05-07T08:11:22.153 回答
-1

我找到了。我的问题出在 curl 版本中

支持 --negotiate 的实际 curl 版本

curl -V

curl 7.43.0 (x86_64-apple-darwin15.0) libcurl/7.43.0 SecureTransport zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz UnixSockets
于 2017-07-18T11:39:37.600 回答