正在 Ruby 下载 ttf 文件
Downloading a ttf file in Ruby
link = 'http://protext.hackerrank.com/static/gen/font_a_21fb3d1d1a91a7e80dff456205f3380b.ttf'
如果您在浏览器中访问此 URL,它应该会下载一个 .ttf 文件。但是,我无法找到使用 Ruby 下载所述文件的方法,甚至无法访问其中的信息。
我尝试过的事情:
require 'nokogiri'
require 'open-uri'
require 'net/http'
-
File.open('font_0.ttf', 'wb') do |fo|
fo.write open(url).read
end
-
download = open(url)
IO.copy_stream(download, '~/font_0.ttf')
-
Net::HTTP.start("http://protext.hackerrank.com") { |http|
resp = http.get("/static/gen/font_a_21fb3d1d1a91a7e80dff456205f3380b.ttf")
p resp.body
}
我还用 Nokogiri 的 parse
尝试了上述大部分内容。
感谢任何帮助,谢谢!
根据一些本地测试,您需要指定一个头字段Cookie: X-VALID=TRUE
才能通过服务器检查。
require 'open-uri'
data = open("http://protext.hackerrank.com/static/gen/font_a_21fb3d1d1a91a7e80dff456205f3380b.ttf",
"Cookie" => "X-VALID=TRUE").read
link = 'http://protext.hackerrank.com/static/gen/font_a_21fb3d1d1a91a7e80dff456205f3380b.ttf'
如果您在浏览器中访问此 URL,它应该会下载一个 .ttf 文件。但是,我无法找到使用 Ruby 下载所述文件的方法,甚至无法访问其中的信息。
我尝试过的事情:
require 'nokogiri'
require 'open-uri'
require 'net/http'
-
File.open('font_0.ttf', 'wb') do |fo|
fo.write open(url).read
end
-
download = open(url)
IO.copy_stream(download, '~/font_0.ttf')
-
Net::HTTP.start("http://protext.hackerrank.com") { |http|
resp = http.get("/static/gen/font_a_21fb3d1d1a91a7e80dff456205f3380b.ttf")
p resp.body
}
我还用 Nokogiri 的 parse
尝试了上述大部分内容。
感谢任何帮助,谢谢!
根据一些本地测试,您需要指定一个头字段Cookie: X-VALID=TRUE
才能通过服务器检查。
require 'open-uri'
data = open("http://protext.hackerrank.com/static/gen/font_a_21fb3d1d1a91a7e80dff456205f3380b.ttf",
"Cookie" => "X-VALID=TRUE").read