如何序列化AMF主体并使用Ruby RocketAMF发送它

时间:2013-04-05 00:36:54

标签: ruby amf

我正在尝试序列化AMF主体并使用RestClient.post发送它。

从Charles代理,我可以反序列化我的请求正文并显示如下:

# s is the raw binary from request body
pp RocketAMF::Envelope.new.populate_from_stream(s).messages

enter image description here

但是,我无法弄明白如何序列化这样的对象并将其(使用RestClient.post)发送到正文中。

1 个答案:

答案 0 :(得分:2)

您需要更改其使用的网址,但以下是正确的方法。

require 'rubygems'
require 'RocketAMF'
require 'rest-client'

data = [] # whatever data you want
env = RocketAMF::Envelope.new :amf_version => 3
env.messages << RocketAMF::Message.new('BatchController.authenticate_iphone', '/1', data)
res = RestClient.post "http://localhost:9292/amf", env.to_s, :content_type => 'application/x-amf'
puts RocketAMF::Envelope.new.populate_from_stream(res).inspect