我必须向发送文件的页面www.example.com/xls_file
发出请求。我有Nokogiri和Mechanize可用。我如何下载文件并在本地保存?
def file
grab_file if !File.exists?("sales_data.csv")
File.open("sales_data.csv")
end
def grab_file
# What do I do here?
# Nokogiri::HTML(open("http://www.example.com/xls_file"))
end
答案 0 :(得分:2)
require 'open-uri'
File.open('any_name_here.xls', 'wb') do |file|
file << open('http://www.example.com/xls_file.xls').read
end
如果要从中获取文件的站点以https://开头,那么您可能需要添加以下内容以避免Ruby报告SSL错误:
require 'open-uri'
require 'openssl'
File.open('any_name_here.xls', 'wb') do |file|
file << open('https://www.example.com/xls_file.xls', ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
end