在某种程度上可以检查文件是否存在而不实际下载吗?
我有这个大(〜 40mb )文件,例如:
http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm
与ruby严格相关,但如果发件人可以设置内容长度,那就太好了。
RestClient.get "http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",
headers: {"Content-Length" => 100}
答案 0 :(得分:10)
试试RestClient.head
。 (见http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.4。)
答案 1 :(得分:1)
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
有关HEAD请求,请参阅第9.4节。
答案 2 :(得分:1)
我们可以使用wget:
def file_exists?(full_file_path)
resp = `wget --spider -v #{full_file_path} && echo 1 || echo 0`
resp.to_i.zero? ? false : true
end