ruby - 在 Ruby 中下载 ttf 文件

标签 ruby http truetype open-uri

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

关于ruby - 在 Ruby 中下载 ttf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44689278/

相关文章:

python - 浏览器在响应完全下载之前关闭套接字

http - GAE Go,init() - 多次调用它?

python - Matplotlib 找不到基本字体

css - @font-face svg 在 Chrome 中无法正常工作?

ruby-on-rails - ruby "first"辅助方法?

ruby - 了解在 Ruby 中与 lambda 一起使用的 inject 行为

mysql - 如何将嵌套哈希提取到数据库表中?

javascript - axios post数组数据

c++ - SDL_ttf - 字体目录/字体去哪儿了?

ruby - Lion OSX : How to install libfreetype. 6.dylib?