【问题标题】:How do I access a web page from Sinatra?如何从 Sinatra 访问网页?
【发布时间】:2013-06-29 13:18:41
【问题描述】:

我想从 Sinatra 运行这个 PHP 脚本http://db2express/imacs/radek/3.1/rationalTest.php?mode=create。 Sinatra 在不同的盒子上运行。

是否有任何 Sinatra 内置方法可以做到这一点?

我知道我可以使用mechanize,只是想知道是否还有其他东西可以使用?

【问题讨论】:

    标签: ruby sinatra


    【解决方案1】:

    如果您需要做的只是检索 URL 的内容或在 URL 的另一端处理一些工作,Open-URI 会做得很好。

    如果您需要更多控制权,可以使用 Net::HTTPTyphoeus

    Open-URI 和 Net::HTTP 都是 Ruby 标准安装的一部分。

    我只想进一步补充一点,“HTTParty”是“Net::HTTP”的一个非常好的包装器(参见 httparty.rubyforge.org)

    是的,我同意。做得很好。我首先使用 OpenURI,因为它是内置的。 HTTParty 比 Typhoeus 更轻,所以它可以很好地定位在它们之间。

    【讨论】:

    • Greg 是对的,但我只想进一步补充一点,“HTTParty”是“Net::HTTP”的一个非常好的包装器(参见httparty.rubyforge.org)。
    • 还有一个问题:我可以将输出重新流式传输到网络浏览器吗?
    • 这取决于你。一旦您捕获了发送的任何内容的主体,您就可以对其进行解析、“重新利用”、存储或发送。
    • 是的,你可以,但我怀疑你会收获很多。 Open-URI 和 Net::HTTP 都允许您传递一个在读取内容时将被调用的块。请参阅 Open-URI 文档中的第一个示例和 Net::HTTPResponse#read_body。我认为您不会获得太多收益的原因是您的重新流式传输将受到进入您的数据速度的限制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 2016-03-26
    相关资源
    最近更新 更多