title: Net::HTTP failure to access Google Docs List Data API
body: <p>I am trying to consume the Google Docs List Data API Version 3.0 using Net::HTTP in ruby using the following code. </p>
  
  <pre><code>require 'net/http'
  
  spreadsheets_uri = 'http://spreadsheets.google.com/feeds/spreadsheets/private/full'
  docs_uri = "https://docs.google.com/feeds/default/private/full?v=3"
  
  def get_feed(uri, headers=nil)
    uri = URI.parse(uri)
    Net::HTTP.start(uri.host, uri.port) do |http|
      return http.get(uri.path, headers)
    end 
  end
  
  def get_headers(service)
    http = Net::HTTP.new('www.google.com', 443)
    http.use_ssl = true
    path = '/accounts/ClientLogin'
    data = "accountType=HOSTED_OR_GOOGLE&amp;Email=#{EM}&amp;Passwd=#{PW}&amp;service=#{service}"
    headers = { 'Content-Type' =&gt; 'application/x-www-form-urlencoded'}
    resp, data = http.post(path, data, headers)
  
    headers["Authorization"] = "GoogleLogin auth=#{data[/Auth=(.*)/, 1]}"
    headers["GData-Version"] = "3.0"
    headers
  end
  
  puts get_feed(spreadsheets_uri, get_headers("wise")) 
  puts get_feed(docs_uri, get_headers("writely"))
  </code></pre>
  
  <p>This works for </p>
  
  <pre><code>'http://spreadsheets.google.com/feeds/spreadsheets/private/full' 
  </code></pre>
  
  <p>but not for </p>
  
  <pre><code> "https://docs.google.com/feeds/default/private/full?v=3"
  </code></pre>
  
  <p>which throws the following error</p>
  
  <pre><code>/usr/local/lib/ruby/1.9.1/net/protocol.rb:135:in `read_nonblock': end of file reached (EOFError)
  
  
  from /usr/local/lib/ruby/1.9.1/net/protocol.rb:135:in `rbuf_fill'
      from /usr/local/lib/ruby/1.9.1/net/protocol.rb:116:in `readuntil'
      from /usr/local/lib/ruby/1.9.1/net/protocol.rb:126:in `readline'
      from /usr/local/lib/ruby/1.9.1/net/http.rb:2219:in `read_status_line'
      from /usr/local/lib/ruby/1.9.1/net/http.rb:2208:in `read_new'
      from /usr/local/lib/ruby/1.9.1/net/http.rb:1191:in `transport_request'
      from /usr/local/lib/ruby/1.9.1/net/http.rb:1177:in `request'
      from /usr/local/lib/ruby/1.9.1/net/http.rb:888:in `get'
      from ./gd.rb:9:in `block in get_feed'
      from /usr/local/lib/ruby/1.9.1/net/http.rb:627:in `start'
      from /usr/local/lib/ruby/1.9.1/net/http.rb:490:in `start'
      from ./gd.rb:8:in `get_feed'
      from ./gd.rb:29:in `&lt;main&gt;'
  </code></pre>