如何在 ruby 中执行 XMLRPC::Client 的连线转储?
Posted
技术标签:
【中文标题】如何在 ruby 中执行 XMLRPC::Client 的连线转储?【英文标题】:How to do a wiredump of XMLRPC::Client in ruby? 【发布时间】:2010-11-18 19:41:28 【问题描述】:我正在使用 ruby 中的 XML RPC 编写一些代码,并且需要查看一些调试信息,你是如何做到的?
【问题讨论】:
【参考方案1】:这里的答案很好,但请注意,http 级别的转储通常可能是 gzip 编码的,因此不太适合调试。另一种选择是使用client.http_last_response
。例如:
server = XMLRPC::Client.new2("http://rpc.technorati.com/rpc/ping")
result = server.call("weblogUpdates.ping", "Copenhagen.rb", "http://www.copenhagenrb.dk/")
puts server.http_last_response.body
【讨论】:
【参考方案2】:读取包的源代码,XMLRPC::Client 依次使用 Net::HTTP 作为其传输。
所以我认为您应该能够相应地将方法修补到 XMLRPC::Client 中:
require 'pp'
# the magic happens here
class XMLRPC::Client
def set_debug
@http.set_debug_output($stderr);
end
end
server = XMLRPC::Client.new2("http://rpc.technorati.com/rpc/ping")
server.set_debug
result = server.call("weblogUpdates.ping", "Copenhagen.rb", "http://www.copenhagenrb.dk/")
pp result
(来自here 的 XMLRPC 示例)。
【讨论】:
以上是关于如何在 ruby 中执行 XMLRPC::Client 的连线转储?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ruby 中执行 XMLRPC::Client 的连线转储?
如何在 Rails 6.1 中使用 AJAX 请求执行具有属性的 ruby 函数?
如何使用 NuoDB 在 Ruby On Rails 中手动执行 SQL 命令
Ruby on Rails - 如何在 application.js 中执行 require