为什么(Poignant)Ruby指南:我在哪里可以找到一个有效的preeventualist.org镜像(或类似的东西)?

时间:2011-04-28 00:23:16

标签: ruby web-services

我一直在Why's (Poignant) Guide to Ruby工作。在Chapter 6中,_Why引导读者使用open-uri与简单的Web服务(“Preeventualist的丢失和查找注册表”)进行交互:

  

SEARCHING
   =========
  要搜索丢失的项目,请使用以下地址:

     

http://preeventualist.org/lost/search?q= {搜索   字}

     

您可以用{替换{search word}   你的搜索字词。例如,到   搜索“杯子”:

     

http://preeventualist.org/lost/search?q=cup

     

您将获得一份杯子清单   失去或找到的。

     

如果您只想搜索丢失的内容   杯子或只找到杯子,使用   'searchlost'和'searchfound'页面:

     

http://preeventualist.org/lost/searchlost?q=cup

哪个不起作用。

The Preeventualist original static content已在_why's Estate处镜像,但遗憾的是搜索服务尚未配置:

http://viewsourcecode.org/why/preeventualist/search?q=bacon

是否有_why以前的preeventualist网络服务的工作镜像?如果没有,那么类似的模拟怎么样:一个服务返回换行符分隔的原始文本列表以响应不同的搜索?

2 个答案:

答案 0 :(得分:5)

https://github.com/mistydemeo/preeventualist

显然,mistydemeo根据_why的尖锐指南第6章重新创建了整个规范。

该重新生成的服务版本与Poignant Guide中指定的API 100%兼容,但也添加了一些新功能,如JSON和Brooklyn Integer支持。

答案 1 :(得分:1)

Open-URI本身很容易使用,而且,如果你考虑一下,几乎每个网站都有资格返回你正在谈论的那种文件,虽然它是HTML,这是带文字的行-breaks(通常)。

举个例子,试试:

require 'open-uri'

body_ios = open('http://www.iana.org/domains/example/')

puts body_ios.lines.first

将输出:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

这是一条单独的文字。

_Why的示例中缺少什么是传递查询,但是,如果您了解查询在普通URL中的工作方式(例如在浏览器中使用时),那么使用Open-URI进行查询时没有任何新的或独特的。您请求URL,服务器返回结果,Open-URI将其作为您可以读取的IO流返回给您,或者像处理其他IO流一样处理。

Open-URI非常灵活,可以轻松地远程读取页面或文件。它也透明地处理重定向,这很不错。

随着您的进步,您可能需要更灵活的内容,在这种情况下,我会推荐TyphoeusHTTPClientPatron宝石。