0

我正在尝试PUThttpi. 我使用curb( curl) 作为我的 gss 协商适配器(我需要使用 Kerberos 令牌)。我能够GET并且article_to_update我能够POST使用几乎完全相同的代码(article_to_update从 URL 中删除并更改putpost)来撰写新文章。使用下面的代码,我收到 408 错误:“服务器超时等待来自客户端的 HTTP 请求。” 我也尝试了一个空的身体并得到了相同的结果。关于如何使其工作或进一步调试的任何想法?

kerberos 认证的 GET/PUT/POST 实现的替代(非 Rails)解决方案也受到欢迎。这是针对 REST API 的,但我没有看到rest-clientgem 是否/如何支持 kerberos。

require 'curb'
require 'httpi'
require 'json'

HTTPI.adapter = :curb
url = URI.escape('https://myserver.com/rest/article/article_to_update')
request = HTTPI::Request.new(url: url, open_timeout: 30)
request.headers['Content-Type'] = 'application/json'
request.headers['Accept'] = 'application/json'
request.auth.gssnegotiate
request.body = JSON.dump(
    name: 'discovery',
    owner: 'greg'
)
response = HTTPI.put(request)
4

0 回答 0