我是ruby的新手,我正在学习它。
我希望从一个网址(例如:https://myurl.com/123/1.zip)下载一个文件,并进行基本身份验证。我尝试从Windows命令提示符执行以下ruby脚本..
request.headers.host
当我执行脚本时,我看到没有错误,但文件没有下载。请你帮我更正我的代码
答案 0 :(得分:3)
你可以试试这个:
require 'open-uri'
File.open('/path/your.file', "wb") do |file|
file.write open('https://myurl.com/123/1.zip', :http_basic_authentication => ['john@test.com', 'John123']).read
end
答案 1 :(得分:0)
你快到了。只需使用ruby的send_data方法
require 'net/http'
uri = URI('https://myurl.com/123/1.zip')
Net::HTTP.start(uri.host, uri.port,
:use_ssl => uri.scheme == 'https',
:verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http|
request = Net::HTTP::Get.new uri.request_uri
request.basic_auth 'john@test.com', 'John123'
http.request(request) do |response|
send_data(response.body, filename: 'set_filename.pdf')
end
end