我一直在努力完成 Why's (Poignant) Guide to Ruby 。在 Chapter 6 中,_why 引导读者通过使用 open-uri 与一个简单的 Web 服务(“Preeventualist 的丢失和查找注册表”)进行交互:
这不起作用。
The Preeventualist 的 original static content 已经镜像到 _why's Estate ,可惜没有配置搜索服务:
http://viewsourcecode.org/why/preeventualist/search?q=bacon
在任何地方是否有_why 以前的 preeventualist Web 服务的工作镜像?如果不是,那么类似的类似物如何:返回换行符分隔的原始文本列表以响应不同搜索的服务?
最佳答案
Open-URI 本身非常易于使用,如果您仔细想想,几乎每个网站都有资格返回您正在谈论的那种文件,尽管它将是 HTML,它是带有换行符的文本(通常)。
例如,尝试:
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 非常灵活,可以轻松地远程读取页面或文件。它也透明地处理重定向,这很好。
随着你的进步,你可能想要更灵活的东西,在这种情况下,我会推荐 Typhoeus 、 HTTPClient 或 Patron gems。
关于ruby - 为什么 (Poignant) Guide to Ruby : Where can I find a working preeventualist. org mirror(或类似的东西)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5812239/