Http 旋涡停止协商SPNEGO-未知机械代码0表示机械未知

Http 旋涡停止协商SPNEGO-未知机械代码0表示机械未知,http,curl,kerberos,spnego,Http,Curl,Kerberos,Spnego,我尝试使用curl连接到一个受SPNEGO保护的网站(在带有curl的Mac OS X 10.10上) 编辑:HTTPie()显示类似的行为。它在第一个服务器响应后停止服务器返回401响应的内容而不仅仅是标题是否重要? GET / HTTP/1.1 Accept: */* Accept-Encoding: gzip, deflate Connection: keep-alive Host: 192.168.1.6:8080 User-Agent: HTTPie/0.9.2 HTTP/1.1

我尝试使用curl连接到一个受SPNEGO保护的网站(在带有curl的Mac OS X 10.10上)

编辑:HTTPie()显示类似的行为。它在第一个服务器响应后停止服务器返回401响应的内容而不仅仅是标题是否重要?

GET / HTTP/1.1 Accept: */* Accept-Encoding: gzip, deflate Connection: keep-alive Host: 192.168.1.6:8080 User-Agent: HTTPie/0.9.2 HTTP/1.1 401 Unauthorized Content-Length: 209 Content-Type: application/json; charset=UTF-8 WWW-Authenticate: Negotiate { "error": { "header": { "WWW-Authenticate": "Negotiate" }, "reason": null, "root_cause": [ { "header": { "WWW-Authenticate": "Negotiate" }, "reason": null, "type": "xxx" } ], "type": "xxx" }, "status": 401 } GET/HTTP/1.1 接受:*/* 接受编码:gzip,deflate 连接:保持活力 主持人:192.168.1.6:8080 用户代理:HTTPie/0.9.2 HTTP/1.1 401未经授权 内容长度:209 内容类型:application/json;字符集=UTF-8 WWW:协商 { “错误”:{ “标题”:{ “WWW验证”:“协商” }, “原因”:空, “根本原因”:[ { “标题”:{ “WWW验证”:“协商” }, “原因”:空, “类型”:“xxx” } ], “类型”:“xxx” }, “地位”:401 }
我怎样做卷曲来获得工作和使用正确的机械

当我没有有效的kerberos票证时,我能够重现这种行为

> klist
Credentials cache: API:F8526791-7C98-45B7-87A0-8426165D376A
        Principal: me@DOMAIN.COM

  Issued    Expires    Principal
一旦我通过kinit命令获得有效票证,身份验证将按预期进行:

> kinit
> klist
Credentials cache: API:F90F79C6-6343-4462-BCD3-54F146FBDBCD
        Principal: me@DOMAIN.COM

  Issued                Expires               Principal
Sep  6 09:16:50 2016  Sep  6 19:16:50 2016  krbtgt/DOMAIN.COM@DOMAIN.COM

您使用的是什么GSS-API实现?显示
ldd curl
(mac上没有ldd)->“otool-L/usr/bin/curl”master/usr/bin/curl:/usr/lib/libcurl.4.dylib(兼容版本7.0.0,当前版本8.0.0)/usr/lib/libz.1.dylib(兼容性版本1.0.0,当前版本1.2.5)/usr/lib/libSystem.B.dylib(兼容性版本1.0.0,当前版本1213.0.0)现在有一个问题。从输出中我看不到使用了什么GSS-API实现。请运行
krb5 config--version
并显示结果。$krb5 config--help--version-->master Kerberos 5 release 1.7-prerelease(但手册页上写着otool-L/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos“Heimdal”)1.7?严重吗?这已经超过6.5年了。这很古老。为什么输出显示Heimdal,尽管它是MIT Kerberos?我强烈建议从源代码编译MIT Kerberos,并将其链接到curl。如果这样做有效,您可以进一步研究。
> klist
Credentials cache: API:F8526791-7C98-45B7-87A0-8426165D376A
        Principal: me@DOMAIN.COM

  Issued    Expires    Principal
> kinit
> klist
Credentials cache: API:F90F79C6-6343-4462-BCD3-54F146FBDBCD
        Principal: me@DOMAIN.COM

  Issued                Expires               Principal
Sep  6 09:16:50 2016  Sep  6 19:16:50 2016  krbtgt/DOMAIN.COM@DOMAIN.COM