我在使用 rt-client gem( link ) 时遇到问题,因为它不断返回“RT/4.0.8 401 Credentials Required”。这个站点的 REST 接口正在工作,因为我有一些 perl 脚本目前正在以类似的方式使用它。
测试.rb
#!/usr/bin/env ruby
require 'rt/client'
rt = RT_Client.new
id = rt.create( :Queue => "General",
:Subject => "Test",
:Requestor => "test@example.org",
:Text => "Ignore me"
)
.rtclientrc
server=http://example.org/
user=exampleuser
pass=examplepass
cookies=tmp
版本
Gem Version: rt-client-0.5.0
RT Version: 4.0.8
Ruby Version: 1.9.3p327
输出
Payload for new ticket:
------xYzZY492386xYzZY
Content-Disposition: form-data; name="content";
Queue: General
Subject: Test
Requestor: test@example.org
Text: Ignore me
id: ticket/new
------xYzZY492386xYzZY--
"RT/4.0.8 401 Credentials required\n"
当我在 test.rb 的底部执行“puts id.inspect”时,我看到了错误,因为没有创建票证。
这可能是处理 cookie 的问题吗?如果可能,我试图避免在 Net::HTTP 中编写自定义解决方案,但如果这仍然很麻烦,我会走这条路。