Usando Mechanize con mi script ruby, no puedo evitar el conocido SSLError. Estoy corriendo sobre rieles con Windows 7 y RailsInstaller.

Quiero generar enlaces adcrun.ch con mi script ruby. Por lo tanto, tengo que iniciar sesión en mi cuenta adcrun.ch:

require 'mechanize'
a = Mechanize.new
page  = a.get( "http://adcrun.ch" )
login_form  = page.form_with( :action => "http://adcrun.ch/" )

login_form.usr_email = "myem@il.com"
login_form.usr_pass  = "mypassword"

page = a.submit( login_form, login_form.button_with( :value => "Login" ) 

Ahora, cuando ejecuto este código, me muestra ese estado SSLError

OpenSSL :: SSL :: SSLError: SSL_connect devuelto = 1 errno = 0 estado = SSLv3 leer el certificado del servidor B: la verificación del certificado falló

También he incluido el archivo ca más reciente de http://curl.haxx.se/ca/cacert. pem como esto

a.ca_file "/RailsInstaller/cacert.pm"

O eso

a.agent.http.ca_file "/RailsInstaller/cacert.pm"

Pero ninguna de las soluciones funcionó.

¿Alguien puede darme pistas?

0
Pr0 10 ene. 2012 a las 20:20
Usar su código, exactamente como está, funciona para mí. La única diferencia es que estoy en Linux. Funciona tanto en 1.8.7 como en 1.9.3. Podría ser la URL http en lugar de https.
 – 
Eugene
10 ene. 2012 a las 23:02

1 respuesta

La mejor respuesta

Parece que debería utilizar "https://adcrun.ch" en lugar de "http://adcrun.ch". Actualmente, está intentando establecer una conexión segura en un puerto no seguro, por lo tanto, está obteniendo un "certificado inválido" devuelto y OpenSSL no puede verificarlo.

0
Eugene 10 ene. 2012 a las 22:53