模組 OpenURI
OpenURI
是 Net::HTTP
、Net::HTTPS 和 Net::FTP 的易於使用的包裝器。
範例¶ ↑
可以開啟 http、https 或 ftp URL,就像開啟檔案一樣
URI.open("http://www.ruby-lang.org/") {|f| f.each_line {|line| p line} }
開啟的檔案有幾個用於其元資訊的 getter 方法,如下所示,因為它是由 OpenURI::Meta
延伸的。
URI.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 }
可以透過選擇性的 hash 參數指定其他標頭欄位。
URI.open("http://www.ruby-lang.org/en/", "User-Agent" => "Ruby/#{RUBY_VERSION}", "From" => "[email protected]", "Referer" => "http://www.ruby-lang.org/") {|f| # ... }
http_proxy、https_proxy 和 ftp_proxy 等環境變數在預設情況下會生效。我們在此停用代理
URI.open("http://www.ruby-lang.org/en/", :proxy => nil) {|f| # ... }
請參閱 OpenURI::OpenRead.open
和 URI.open
以進一步瞭解可用選項。
URI
物件可以用類似的方式開啟。
uri = URI.parse("http://www.ruby-lang.org/en/") uri.open {|f| # ... }
URI
物件可以直接讀取。傳回的字串也由 OpenURI::Meta
延伸。
str = uri.read p str.base_uri
- 作者
-
Tanaka Akira <[email protected]>
常數
- 選項
- VERSION