新聞中心
Ruby中有一些特殊的模塊是比較有用的。比如在這里為大家介紹的Ruby模塊OpenURI ,就是一種比較常見的Ruby模塊。我們需要熟練的掌握其特性。#t#

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設計、網(wǎng)站建設與策劃設計,肥西網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十多年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:肥西等地區(qū)。肥西做網(wǎng)站價格咨詢:13518219792
Ruby中獲取一個HTTP/FTP地址的內(nèi)容,有一個非常方便的方法,就是使用open-uri庫。
Ruby模塊OpenURI是ruby的標準附加庫中所帶的,路徑是:lib/oepn-uri.rb
引用了該附加庫后,就可以像打開普通文件那樣打開一個http/ftp的uri的資源。
Ruby模塊OpenURI有區(qū)別的地方在這里:
- require 'open-uri'
- open('c:/boot.ini'){|file|
- puts file.class #File
- }
- open('http://coderlee.
cnblogs.com'){|file| - puts file.class #Tempfile
- }
可以看出,打開一個本機文件的塊參數(shù)是File類型,而打開一個uri的塊參數(shù)是一個Tempfile類型。
還有一點要注意,就是open-uri里面的open方法會自動對302 redirection重定向地址進行追蹤訪問,而Net::HTTP#get方法則不會自動追蹤302重定向地址。
該函數(shù)最后返回的值,是傳入的代碼塊最后的值。 可以這樣獲得Ruby模塊OpenURI的內(nèi)容
- data = open('http://coderlee.
cnblogs.com'){|f| f.read}- data = open('http://coderlee.
cnblogs.com'){|f| f}.open.read
第二句的open的原因是:open方法返回的流,是已經(jīng)關閉了的tempfile,所以要先open打開流,返回打開的流,再調(diào)用read讀取。
分享標題:Ruby模塊OpenURI獲取HTTP/FTP地址內(nèi)容
標題來源:http://www.5511xx.com/article/ccsoocg.html


咨詢
建站咨詢
