Having trouble connecting to a site via net/http

Hello,

In my app I have the need to screen scrape a HTTPS page and I’m
getting a strange error that I don’t understand. I can reproduce the
error with a secure google page, which I do in the test code below.
Any help would be much appreciated.

Janak

#My Ruby version
ruby 1.8.4 (2005-12-24) [i386-mswin32]

My test code

require ‘net/http.rb’
require ‘uri’

response =
Net::HTTP.get_response(URI.parse(‘Google AdSense - Earn Money From Website Monetization’))

c:/ruby/lib/ruby/1.8/net/protocol.rb:133:in sysread': Invalid argument (Errno::EINVAL) from c:/ruby/lib/ruby/1.8/net/protocol.rb:133:in rbuf_fill’
from c:/ruby/lib/ruby/1.8/timeout.rb:56:in timeout' from c:/ruby/lib/ruby/1.8/timeout.rb:76:in timeout’
from c:/ruby/lib/ruby/1.8/net/protocol.rb:132:in rbuf_fill' from c:/ruby/lib/ruby/1.8/net/protocol.rb:116:in readuntil’
from c:/ruby/lib/ruby/1.8/net/protocol.rb:126:in readline' from c:/ruby/lib/ruby/1.8/net/http.rb:1988:in read_status_line’
from c:/ruby/lib/ruby/1.8/net/http.rb:1977:in read_new' from c:/ruby/lib/ruby/1.8/net/http.rb:1046:in request’
from c:/ruby/lib/ruby/1.8/net/http.rb:944:in request_get' from c:/ruby/lib/ruby/1.8/net/http.rb:380:in get_response’
from c:/ruby/lib/ruby/1.8/net/http.rb:545:in start' from c:/ruby/lib/ruby/1.8/net/http.rb:379:in get_response’
from adtest.rb:27

On 10/20/06, [email protected] [email protected] wrote:

ruby 1.8.4 (2005-12-24) [i386-mswin32]

My test code

require ‘net/http.rb’
require ‘uri’

response =
Net::HTTP.get_response(URI.parse(‘Google AdSense - Earn Money From Website Monetization’))

Use net/https to connect over ssl…

require ‘net/https’
require ‘uri’

uri = URI.parse(‘https://adwords.google.com’)

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

http.verify_mode = OpenSSL::SSL::VERIFY_NONE # Not setting this

explicitly will result in an error and the value being set anyway
response = http.get(‘/’)
p response

I tried the code that you suggest and I get the following error
messages. The error seems to be thrown on this line

response = http.get(’/’)

Janak

Error messages

c:/ruby/lib/ruby/1.8/net/http.rb:565:in connect': undefined methodverify_mode’ for nil:NilClass (NoMethodError)
from c:/ruby/lib/ruby/1.8/net/http.rb:555:in do_start' from c:/ruby/lib/ruby/1.8/net/http.rb:544:instart’
from c:/ruby/lib/ruby/1.8/net/http.rb:1031:in request' from c:/ruby/lib/ruby/1.8/net/http.rb:771:inget’
from adtest.rb:32

On 10/20/06, [email protected] [email protected] wrote:

    from c:/ruby/lib/ruby/1.8/net/http.rb:555:in `do_start'
    from c:/ruby/lib/ruby/1.8/net/http.rb:544:in `start'
    from c:/ruby/lib/ruby/1.8/net/http.rb:1031:in `request'
    from c:/ruby/lib/ruby/1.8/net/http.rb:771:in `get'
    from adtest.rb:32

Did you require net/https (NOT net/http)?

Chris