require 'open-uri'
uri = 'http://www.baidu.com/img/logo.gif'
data = open(URI::encode(uri)){|f| f.read}
file = File.new 'c:/logo.gif', 'w+'
file.binmode
file << data
file.flush
file.close两点注意,一个是访问uri时,使用URI::encode转换一下,确保万一。
二是读到的数据,写入本机文件的时候,要使用binary方式。