您的位置:首页 > 其它

由下载地址得到下载包的精确大小

2015-03-17 20:54 148 查看
http://ruby-doc.org/stdlib-2.2.1/libdoc/net/http/rdoc/Net/HTTP.html#method-i-head

head(path, initheader = nil)click to toggle source

Gets only the header from
path
on the connected-to host.
header
is a Hash like { ‘Accept’ => ‘/’, … }.

This method returns a Net::HTTPResponse object.

This method never raises an exception.

response = nil
Net::HTTP.start('some.www.server', 80) {|http|
response = http.head('/index.html')
}
p response['content-type']


于是就有了这样的奇葩方法,欢迎拍砖


def self.get_the_package_size origin_url
if origin_url.present?
if origin_url.index(".com")
array = origin_url.split(".com").reverse
url_end = array[0]
url_begin = array[1].split("//")[1]
url_begin = "#{url_begin}.com"
elsif origin_url.index(".net")
array = origin_url.split(".net").reverse
url_end = array[0]
url_begin = array[1].split("//")[1]
url_begin = "#{url_begin}.net"
else
return ""
end
response = nil
Net::HTTP.start(url_begin, 80, "10.103.11.54", 81) {|http|
response = http.head(url_end)
}
return response['Content-Length']
end
end


其实还可以直接用命令看一下哦

curl -v -XHEAD http://dl.g.youku.com/20150317/1426557582_XXXX-20150312.apk


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: