ruby 스크립트를 사용하여 http 링크를 통해 .dmg 파일을 다운로드하려고합니다. 나는 NET :: HTTP 및 HTTParty 메서드를 http://www.ruby-doc.org/stdlib-2.0.0/libdoc/net/http/rdoc/Net/HTTP.html 에서 설명한 방법으로 시도했습니다. 이러한 메서드는 이미지 및 다른 웹 콘텐츠에서는 제대로 작동하지만 dmg 파일에서는 작동하지 않습니다.http 링크로 dmg 파일 다운로드
#!/usr/bin/env ruby
require 'fileutils'
require 'pathname'
require "open-uri"
require 'net/http'
include FileUtils
#download Software
#Method1
open("VirtualBox-4.2.18-88780-OSX.dmg") do |file|
file.write('http://download.virtualbox.org/virtualbox/4.2.18/VirtualBox-4.2.18-88780-OSX.dmg').read
end
#Method2
Net::HTTP.start("download.virtualbox.org") do |http|
resp = http.get("/virtualbox/4.2.18/VirtualBox-4.2.18-88780-OSX.dmg")
open("VirtualBox-4.2.18-88780-OSX.dmg","wb") do |file|
file.write(resp)
end
end
#Method3
uri = URI('http://download.virtualbox.org/virtualbox/4.2.18/VirtualBox-4.2.18-88780- OSX.dmg')
Net::HTTP.get(uri)
#Method4
Net::HTTP.start(uri.host) do |http|
request = Net::HTTP::Get.new uri
response = http.request request # Net::HTTPResponse object
end
#Method5
File.open("~/Desktop/", "wb") do |f|
f.write HTTParty.get("http://download.virtualbox.org/virtualbox/4.2.18/VirtualBox-4.2.18- 88780-OSX.dmg").parsed_response
end
#Method6
File.write('VirtualBox-4.2.18-88780-OSX.dmg', open('http://download.virtualbox.org/virtualbox/4.2.18/VirtualBox-4.2.18-88780-OSX.dmg').read, {mode: 'wb'})
#Methos7
puts "#{uri}"
res = Net::HTTP.get_response(uri)
puts res.body if res.is_a?(Net::HTTPSuccess)
http 링크를 통해 dmg 파일을 얻는 방법.
나는 이것이 당신이 로딩하는 내용과 관련이 있다고 생각하지 않습니다. 그거 확실해? – phoet