当前位置: 首页 > 知识库问答 >
问题:

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

梁丘缪文
2023-03-14

我尝试连接到一个SPNEGO安全的网站与curl(在Mac OS X 10.10与运送curl)

$curl -vv --negotiate -u : http://xxx-MacBook-Pro.local:8080 
* Rebuilt URL to: http://xxx-MacBook-Pro.local:8080/
*   Trying 192.168.1.6...
* Connected to xxx-MacBook-Pro.local (192.168.1.6) port 8080 (#0)
> GET / HTTP/1.1
> Host: xxx-MacBook-Pro.local:8080
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 401 Unauthorized
* gss_init_sec_context() failed: : unknown mech-code 0 for mech unknown
< WWW-Authenticate: Negotiate
< Content-Type: application/json; charset=UTF-8
< Content-Length: 303
< 
* Connection #0 to host xxx-MacBook-Pro.local left intact

问题似乎是“gss_init_sec_context()失败::未知机械代码0表示机械未知”。curl看起来像是用SPNEGO/GSS正确编译的?

curl 7.43.0 (x86_64-apple-darwin14.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 

编辑:HTTPie(https://github.com/ndzou/httpie-negotiate)显示类似的行为。它在第一个服务器响应之后停止。服务器返回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
}

我如何做卷曲得到工作和使用正确的机械?

共有1个答案

关正雅
2023-03-14

当我没有有效的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
 类似资料:
  • 问题内容: 我想知道是否有类似Java的Perl / Python机械化的东西。 谢谢! 问题答案: 看看HtmlUnit。它类似于Perl的WWW :: Mechanize 。还有一个Perl版本,名为WWW :: HtmlUnit (它使用Inline :: Java 将Java库的方法公开给Perl)。

  • 我试图学习和,以实现我正在为一个已经工作的Android项目创建测试。但是我有一些麻烦。这会让你知道我想测试的活动: 这段代码所做的是获取Active会话,根据它的状态,它显示了不同的。现在我将向您展示测试类: 正如你所见,我在一个单独的java项目中使用了Robolectric和Mockito。当我运行测试类时,我得到以下信息: 你能帮我一下吗? 编辑 我去掉了ActivityControlle

  • 问题内容: 我对python机械化的代理支持有疑问。我正在制作一些Web客户端脚本,我想在我的脚本中插入代理支持功能。 例如,如果我有: 如何在我的机械化脚本中添加代理支持?每当我打开此网站时,我都希望它通过代理。 问题答案: 您使用mechanize.Request.set_proxy(host,type)(至少从0.1.11开始) 假设运行在localhost:8888的http代理 应该管用

  • 如果你是机械工程师,本节就专为你量身定做。本节,我们将创建一个相互连接的旋转齿轮系。 图5-7 创建旋转的齿轮 操作步骤 按照以下步骤,创建一个相互连接的旋转齿轮系: 1. 链接到Animation类: <head> <script src="animation.js"> </script> 2. 定义Gear类的构造函数: <script> function Gear(config){

  • 问题内容: 我有一个带有按钮的表单,希望能够单击它。 我已经尝试过,但是会出现以下错误: 也不起作用,因为它的类型是按钮并且不提交。 有任何想法吗?谢谢。 问题答案: 单击在 纯HTML 的形式什么都不做。为了执行任何操作,必须包含 javascript 。 并且不运行 javascript 。 因此,您的选择是: 自己阅读JavaScript并模拟其效果 使用运行JavaScript代码 我会做

  • 我想刮一个Crunchbase页面,但我得到了这个错误: 以下是代码: 这两种解决方案我都尝试过: Ruby Mechanize https错误Mechanize获取“Errno::econreset:连接被peer - SSL_connect重置” 但是同样的错误仍然存在。 请帮忙,谢谢!