从rails中的模型访问另一个网站上的URL

我想从我的某个模型访问另一个网站的URL,解析一些信息并将其发送回我的用户。 这可能吗? 例如,用户通过POST向我发送地址,我想通过第三方网站(USPS或GMaps)validation信息

我将使用哪些方法来创建请求并解析响应?

这不是重定向。 我想打开一个从客户端透明的新请求。

有很多库可以处理这个问题,例如:

  • http://github.com/jnunemaker/httparty上的 HTTParty
  • 遏制http://curb.rubyforge.org/
  • 赞助人访问http://github.com/toland/patron

使用赞助人的例子:

sess = Patron::Session.new sess.timeout = 10 sess.base_url = "http://myserver.com:9900" sess.headers['User-Agent'] = 'myapp/1.0' resp = sess.get("/foo/bar") if resp.status < 400 puts resp.body end 

每个解决方案都有自己的处理请求和解析请求的方式以及API的变体。 寻找最适合您需求的产品。