在sinatra内打一个电话

时间:2011-03-30 22:30:58

标签: sinatra

基本上,我希望接受某些网址的请求,并且基本上会重定向到另一个网址,但会包含一些带有重定向的数据 - 将多个网址汇总到一个网址中,其中包含基于最初请求的网址的数据。

我知道还有其他方法可以做到这一点,但为了保持网址清洁,我更喜欢这样做,并通过POST传递信息,就像做一个卷曲-F。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

Ruby中存在大量的http客户端。仅举几例,有httpclient,ruby-httpclient和patron。快速浏览它们让我觉得我最喜欢Patron,因为它依赖于libcurl:

hc = Patron::Session.new
hc.base_url = "http://search.twitter.com/"
hc.post("/foo/stuff", "Some data I want to post", {"Content-Type" => "text/plain"})

ruby​​-httpclient看起来有点相似,但是page上的示例较少,因此立即更难以理解:

client = Net::HTTPClient.new
html = client.get 'http://www.google.com.au'

我没有和他们中的任何一个人一起攻击,所以YMMV,但这些是开始的好地方!

更新:

在查看我的Service-Oriented Design with Ruby and Rails(亚马逊链接)一书之后,他们强烈建议Typhoeus执行http请求。看了之后,我不得不同意。看起来非常坚固且易于使用。希望这有帮助!