[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

net/http for Googles Authentication api

Joe Smith

6/27/2007 4:38:00 PM

def process_token(token)
url =
URI.parse('http://www.google.com/account/AuthSubSessionT...)


request = Net::HTTP::Get.new(url.path)
request['Content-Type'] = "text/html; charset=utf-8"
request['User-Agent'] = "Ruby client"
request['Authorization'] = "AuthSub token='#{token}'"
res = Net::HTTP.start(url.host, 80) do |sess|
sess.request(request)
end
end

That is the code I'm using to send a request to
http://www.google.com/account/AuthSubSes... with a special header
attribute (Authorization) containing a token provided by Google. The
code above results in a 404 exception, I don't think it's sending the
correct request.

Any suggestions as to what I did wrong or how I can view the entire
request sent so I at least have an idea of whats wrong?

--
Posted via http://www.ruby-....

1 Answer

Dan Zwell

6/27/2007 5:37:00 PM

0

Joe Smith wrote:
> def process_token(token)
> url =
> URI.parse('http://www.google.com/account/AuthSubSessionT...)
>
>
> request = Net::HTTP::Get.new(url.path)
> request['Content-Type'] = "text/html; charset=utf-8"
> request['User-Agent'] = "Ruby client"
> request['Authorization'] = "AuthSub token='#{token}'"
> res = Net::HTTP.start(url.host, 80) do |sess|
> sess.request(request)
> end
> end
>
> That is the code I'm using to send a request to
> http://www.google.com/account/AuthSubSes... with a special header
> attribute (Authorization) containing a token provided by Google. The
> code above results in a 404 exception, I don't think it's sending the
> correct request.
>
> Any suggestions as to what I did wrong or how I can view the entire
> request sent so I at least have an idea of whats wrong?
>

A 404 not found is not something that a server usually spits out when
you have merely given it the wrong information. Error, Access Denied,
Authentication Failed, something, but not a 404. So I strongly suspect
your URL is wrong. Try https? (though that would mean using Net::HTTPS
instead of Net::HTTP). One strategy would be to find something that
successfully connects to Google by this method (if you have a working
example in another language, or even a binary file), you should run that
and sniff your own packets to see exactly what is being sent.
"livehttpheaders" is a Firefox extension that I use for this sort of
thing, if there is any way for you to use a web browser to log in to
this google authentication thing.

Good luck,
Dan