使用uri请求使用gmail进行响应

时间:2012-01-23 12:44:25

标签: ruby http url https uri

据我所知,Google :: Reader API工作正常,因为它成功返回了一个sid。但是,与gmail的较低级别交互将无法正常运行:

warning: peer certificate won't be verified in this SSL session
#<Google::Reader::Base:0xb76efa0c
 @email="hawat.thufir",
 @password="pword",
 @sid=
  "DQAAAL4AAACq-Wrm1V_anY1sV4r_3kA4EuRax9oTt5z7upD6NNfT0e7bsN-8WA7cQOTt7zypI5fymS9Ux8QTtyu-7xal9c6szb2ZoeBR5dwPH_m7OrBe6ICkKY-dPus0_g5DFW6tckpCZmJIyrP9zfUQKJzGYjnYKJzJEJYFEdvMu756Hl68qeD6AuGKDdFWbyBEvgQGR2oFjkxHYGqwTQ9oHJBfBkMH9hrDl2Q9C_cVE5A-_Bb9RiUy6WuwIbS-pPN56z3XtpA">
#<URI::HTTPS:0xb76e7988 URL:https://hawat.thufir:pword@gmail.com>
#<Net::HTTP gmail.com:443 open=false>
#<Net::HTTP::Get GET>
["Basic aGF3YXQudGh1ZmlyOmRldm90Y2hrYQ=="]
#<Net::HTTP::Get GET>
/usr/lib/ruby/1.8/net/http.rb:1060:in `request': undefined method `closed?' for nil:NilClass (NoMethodError)
    from ./req_uri.rb:23

代码:

#!/usr/bin/ruby -w

require 'rubygems'
require 'google/reader'
require 'pp'
require 'net/http'
require 'net/https'
require 'uri'
require 'yaml'

yml = YAML.load_file 'login.yml'
user = yml["user"]
pword = yml["pword"]

pp Google::Reader::Base.establish_connection(user, pword)

uri = URI.parse "https://#{user}:#{pword}@gmail.com"
pp uri
pp http = Net::HTTP.new(uri.host, uri.port)
pp request = Net::HTTP::Get.new(uri.request_uri)
pp request.basic_auth(user, pword)
pp request
response = http.request(request)

所以,问题是,打印时请求基本上是空的吗?将请求发送到响应有什么问题?到目前为止,这似乎是正确的。我错过了什么?

0 个答案:

没有答案