我想在 Kerberos 中使用 curl
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
有什么想法吗?
我通过安装最新的 curl 在 MacOS 中解决了这个问题:
brew install curl
之后,我使用了以下命令,以便我的终端通过自制软件拾取 curl
echo 'export PATH="/opt/homebrew/opt/curl/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
您可以使用以下命令验证终端现在是否选择了正确的 curl。
which curl
预期输出 :/opt/homebrew/opt/curl/bin/curl
注意:你可能想使用 .bashrc,如果你在机器的主目录中没有 .zshrc,或者你可以创建 .zshrc 文件。
你可以尝试"--anyauth"选项,它告诉curl自己找出身份验证方法。
--安雅
(HTTP( 告诉 curl 自己找出身份验证方法,并使用远程站点声称它支持的最安全的方法。这是通过首先执行请求并检查响应标头来完成的,从而诱导额外的网络往返。使用此方法代替设置特定的身份验证方法,您可以使用 --basic、--digest、--ntlm 和 --negotiate 来执行此操作。(7.10.6 中新增(
我找到了。我的问题在卷曲版本中
精算卷曲版配套--协商
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