2009-08-12 36 views

回答

20

讀取包的來源,XMLRPC :: Client依次使用Net :: HTTP作爲其傳輸。

所以我認爲你應該能夠猴子補丁的方法進入XMLRPC ::客戶相應:

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 

(樣品XMLRPC從here snarfed)。

0

這裏精細的答案,但千萬注意,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