Tenho pelejado com um script em ruby para apanhar (ou em inglês, “scrap”) conteúdo de páginas de web de sites que usam o protocolo https. Só para ilustrar o meu problema, vou usar o site que visito todos os dias. ;)
require ‘net/https’ host = “www.launchpad.net” port = 443 proxy = nil proxyport = nil h = Net::HTTP.new(host, port, proxy, proxyport) h.use_ssl = true response, data = h.get("/", nill)
Quando executo este pequeno script (aqui usando o irb), recebo a seguinte mensagem de erro:
Net::HTTPBadResponse: wrong status line: "" from d:/ruby/lib/ruby/1.8/net/http.rb:1990:in `read_status_line' from d:/ruby/lib/ruby/1.8/net/http.rb:1977:in `read_new' from d:/ruby/lib/ruby/1.8/net/http.rb:1046:in `request' from d:/ruby/lib/ruby/1.8/net/http.rb:1033:in `request' from d:/ruby/lib/ruby/1.8/net/http.rb:545:in `start' from d:/ruby/lib/ruby/1.8/net/http.rb:1031:in `request' from d:/ruby/lib/ruby/1.8/net/http.rb:771:in `get' from (irb):7
Alguém sabe como posso fazer isso?
Atualização: Aparentemente eu tinha usado net/http invés de net/https… Como diz Homer Simpson: “Doh!”