Ruby:使用open()和NET :: HTTP模块获取Web内容有什么区别?

Ruby:使用open()和NET :: HTTP模块获取Web内容有什么区别?,第1张

概述参见英文答案 > What is the difference between Ruby’s ‘open-uri’ and ‘Net:HTTP’ gems?                                    2个 一个单独的SO帖子提供了不同的方法来获取Ruby中的Web内容,但并没有完全解释为什么一个优于另一个. 使用open()和NET :: HTTP模块(如下所示)获取W 参见英文答案 > What is the difference between Ruby’s ‘open-uri’ and ‘Net:HTTP’ gems?                                    2个
一个单独的SO帖子提供了不同的方法来获取Ruby中的Web内容,但并没有完全解释为什么一个优于另一个.

使用open()和NET :: http模块(如下所示)获取Web内容有什么区别?为什么NET :: http被认为是“更好”的方法?

**open() 1:**    require 'open-uri'file = open('http://hiscore.runescape.com/index_lite.ws?player=zezima')contents = file.read**open() 2:**require 'open-uri'source = open('http://www.Google.com',&:read)**NET::http 1:**require 'uri'require 'net/http'url = "http://hiscore.runescape.com/index_lite.ws?player=zezima"r = Net::http.get_response(URI.parse(url).host,URI.parse(url).path)
解决方法 经验法则:尽可能使用 OpenURI.

原因是OpenURI只是Net::HTTP左右的包装器,因此需要编写更少的代码.因此,如果你所做的只是执行简单的GET请求,那么就去做吧.

另一方面,如果你想要一些OpenURI没有给你的低级功能,更喜欢Net::HTTP.这不是一种更好的方法,但它在配置方面提供了更大的灵活性.

正如official documentation所述:

If you are only performing a few GET requests you should try OpenURI.

总结

以上是内存溢出为你收集整理的Ruby:使用open()和NET :: HTTP模块获取Web内容有什么区别?全部内容,希望文章能够帮你解决Ruby:使用open()和NET :: HTTP模块获取Web内容有什么区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1275696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存