检查Web文件是否存在,无需下载?

时间:2011-10-04 23:40:05

标签: ruby

在某种程度上可以检查文件是否存在而不实际下载吗?

我有这个大(〜 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}

3 个答案:

答案 0 :(得分:10)

答案 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