루비에서만 헤더를 어떻게 읽습니까? open
에 대한 옵션에서 일부 옵션을 시도했지만 여전히 전체 파일을 읽습니다. Ruby에서 URL의 헤더 만 읽는 방법은 무엇입니까?
irb(main):153:0> html=open(url, :content_length_proc => lambda {|len| p len })
177602
=> #<Tempfile:C:/Users/Chloe/AppData/Local/Temp/open-uri20140220-8496-o5zlda>
http://ruby-doc.org/stdlib-2.0.0/libdoc/open-uri/rdoc/OpenURI/OpenRead.html#method-i-open
나는curl -I
또는
wget --spider
같은 것을 원한다.
두 가지 방법이 있습니다. 그것은 간단하고 만드는 URI 개체를 구문 분석이 필요하지 않기 때문에
Net::HTTP.start(uri.host) {|http| http.head(uri.path)['content-length']}
open(url){|f| f.meta['content-length']}
는 http://stackoverflow.com/questions/17900207/getting-headers-from-a-ruby-nethttp 시도 -request-before-making-request- –
또는 http://stackoverflow.com/questions/17454956/get-http-headers-before-downloading-with-open-uri-ruby – Phrogz
@ParitoshPiplewar 그 질문은 RESPONSE 헤더가 아닌 REQUEST 헤더. – Chloe