【发布时间】:2011-08-15 01:39:40
【问题描述】:
我试图弄清楚如何获取 Nokogiri XML 文档的大小。正在使用open 获取文档:
Nokogiri::XML(open(my_url))
此时是否可以确定返回文档的大小?是否有任何 HTTP 标头可检索,例如 Content-type 或 Content-Length?
【问题讨论】:
标签: ruby-on-rails ruby nokogiri
我试图弄清楚如何获取 Nokogiri XML 文档的大小。正在使用open 获取文档:
Nokogiri::XML(open(my_url))
此时是否可以确定返回文档的大小?是否有任何 HTTP 标头可检索,例如 Content-type 或 Content-Length?
【问题讨论】:
标签: ruby-on-rails ruby nokogiri
不直接与 Nokogiri 合作。我想在下载文件之前知道内容长度,你可以这样做:
response = http.request_head('http://www.example.com/file.ext')
file_size = response['content-length']
file_size 将以字节为单位。
【讨论】:
response['content-length'] 和 response['Content-Length'] 都是空的。知道为什么吗? response['content-type'] 工作得很好。
你可以试试这样的:
opened_url = open(my_url)
opened_url.size # Gets size
doc = Nokogiri::XML(open(my_url))
在检查字符串的“大小”时,您可能需要记住这篇文章中的讨论: http://zargony.com/2009/07/24/ruby-1-9-and-file-encodings
【讨论】: