Ruby 1.8挂起发出http请求

时间:2015-05-18 09:11:18

标签: ruby

我有下一个配置:

Net::HTTP.ssl_context_accessor 'ssl_version'
@http = Net::HTTP.new(@url.host, 443)
@http.ssl_version = :SSLv2
@http.use_ssl = true
@http.verify_mode = OpenSSL::SSL::VERIFY_NONE

@http.set_debug_output $stderr
@http.open_timeout = 10
@http.read_timeout = 10

然后我使用@http对象以这种方式生成request_get:

path = "/login.cgi?username=#{@url.user}&password=#{@url.password}"
debug("Making request #{@http.address}")
response = @http.request_get(path)
debug("#{response.body}")
@cookie = response.get_fields('set-cookie').split('; ')[0]

Puppet.debug('Cookie got!')

服务器应该给我一个cookie,但我从调试中获得的唯一输出是

Debug: Making request server.com
opening connection to server.com...
opened

它永远挂在那里(甚至没有提高超时)。

我对ruby很新,而且这个代码已经从其他stackoverflow问题中检索出来了,并且假设有效。

我一直在搜索谷歌,但没有找到类似的东西,任何想法?

1 个答案:

答案 0 :(得分:0)

通过post将SSL版本更改为SSLv3和request_get方法解决了问题。