2012-01-10 5 views
0

내 Ruby 스크립트로 Mechanize를 사용하면 잘 알려진 SSLError를 해결할 수 없습니다. 저는 Windows 7 및 RailsInstaller가있는 레일즈를 사용하고 있습니다.Ruby에서 기계화 및 SSLError

내 루비 스크립트로 adcrun.ch 링크를 생성하고 싶습니다. 나는 그것이 SSLError 상태

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

가 나는 또한 http://curl.haxx.se/ca/cacert.pem 에서 최신 CA 파일을 포함 것을 나에게 보여이 코드를 실행하면 이제

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

login_form.usr_email = "[email protected]" 
login_form.usr_pass = "mypassword" 

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

을 : 그러므로 내 adcrun.ch 계정에 로그인해야 이

a.ca_file "/RailsInstaller/cacert.pm" 

또는

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

그러나 솔루션 중 어느 것도 작동하지 않았습니다.

누군가 내게 힌트를 줄 수 있습니까?

+0

코드를 그대로 사용하면 저에게 적합합니다. 유일한 차이점은 리눅스에 관한 것입니다. 1.8.7 및 1.9.3에서 모두 작동합니다. URL이 https 대신 http가 될 수 있습니다. – Eugene

답변

0

"http://adcrun.ch" 대신 "https://adcrun.ch"을 사용해야하는 것 같습니다. 현재 비보안 포트에서 보안 연결을 시도하고 있으므로 "유효하지 않은 인증서"가 반환되고 OpenSSL에서이를 확인할 수 없습니다.

+0

오 마이 맙소사! 고맙습니다! – Pr0