Cannot access HTTPS

I used RVM to install Ruby 2.0 on my Mac OS X Mountain Lion. OpenSSL is
installed automatically by RVM before installing Ruby 2.0 (autolibs via
Homebrew). My problem is that ‘net/http’ cannot request through HTTPS.

Here is my script:
require ‘net/http’

uri = URI(‘’)

Net::HTTP.start(, uri.port,
:use_ssl => uri.scheme == ‘https’) do |http|
request = uri

response = http.request request # Net::HTTPResponse object

puts response

Here is the output by running it:
connect': undefined methodset_params’ for
#OpenSSL::SSL::SSLContext:0x007ff1ad0acea8 (NoMethodError)
do_start' from /Users/siegfried/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:851:instart’
start' from Desktop/test.rb:5:in

Does anyone have a clue? Thanks.

Zhi-Qiang L.
[email protected]

On Oct 10, 2013, at 6:14 AM, Zhi-Qiang L. [email protected]

puts response

Looks like it may be a precedence problem. Try changing to this:

Net::HTTP.start(, uri.port,
:use_ssl => (uri.scheme == ‘https’)) do |http|

It’s binding the :use_ssl => uri.scheme first, then doing the compare

I had the same problem, and I found just adding require 'openssl' at
top of the script fixed the issue. I don’t know why though, didn’t have
this problem until updating to the latest ruby 2.0 via RVM.

Here is an example:

http = Net::HTTP.start(‘’, 443, :use_ssl => true)

NoMethodError: undefined method `set_params’ for





from (irb):5

from /Users/samuel/.rvm/rubies/ruby-2.0.0-p247/bin/irb:13:in `’

2.0.0p247 :006 > require ‘openssl’

=> true

2.0.0p247 :007 > http = Net::HTTP.start(‘’, 443, :use_ssl =>

=> #<Net::HTTP open=true>

I fixed the problem by reinstalling ruby by RVM.

Zhi-Qiang L.
[email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs