4

Net::HTTP显然,我在 Ruby 1.9.2p290 中使用来处理一些网络调用。

我现在需要查看发送到服务器的完整请求(作为一个符合 HTTP 1.0/1.1 的长大字符串。

换句话说,我想Net::HTTP处理生成符合 HTTP 标准的请求+正文的繁重工作,但我想使用自定义传递机制发送字符串。

Net::HTTPRequest这里似乎没有任何有用的方法——我是否需要降低堆栈并劫持一些东西?

有谁知道一个好的库,也许除了 Net::HTTP 之外,可以提供帮助?

编辑:我也想以另一种方式做同样的事情(将字符串响应转换为Net::HTTP::*- 尽管似乎我可以Net::HTTPResponse自己实例化?

4

1 回答 1

2

要求:

post = Net::HTTP::Post.new('http://google.com')
post.set_form_data :query => 'ruby http'
sio = StringIO.new
post.exec si, Net::HTTP::HTTPVersion, post.path
puts sio.string

回复:

si = StringIO.new("HTTP/1.1 200 OK\n")
bio = Net::BufferedIO.new(si)
Net::HTTPResponse.read_new(bio)
于 2012-05-21T14:44:12.870 回答