open("http://www.ruby-lang.org/en") {|f|
f.each_line {|line| p line}
p f.base_uri # <URI::HTTP:0x40e6ef2 URL:http://www.ruby-lang.org/en/>
p f.content_type # "text/html"
p f.charset # "iso-8859-1"
p f.content_encoding # []
p f.last_modified # Thu Dec 05 02:45:02 UTC 2002
}
当我尝试打开问题时,它会给我一个错误说
C:/Users/Administrator/Desktop/ruby.rb:1:in `initialize': Invalid argument - htt
p://www.ruby-lang.org/en (Errno::EINVAL)
from C:/Users/Administrator/Desktop/ruby.rb:1:in `open'
from C:/Users/Administrator/Desktop/ruby.rb:1:in `<main>'
该错误意味着什么以及如何解决它并感谢
答案 0 :(得分:3)
默认情况下,open
是Kernel#open
方法,对http
原型一无所知。
要使代码正常工作,您应该明确地
require 'open-uri'
monkeypatches open
方法,现在可以打开URI
。