Đây là mã tôi đang sử dụng để kết nối với trang web SSL.Tại sao truy cập trang web SSL bằng Cơ chế trên Windows không thành công, nhưng trên máy Mac hoạt động?
require 'mechanize'
a = Mechanize.new
page = a.get 'https://site.com'
I "m sử dụng bởi Ruby 1.9.3 và cơ giới hóa 2.1pre1 + phụ thuộc Trên Mac mã trên hoạt động và trả về trang Trên cửa sổ 7 chạy các phiên bản tương tự nó mang lại cho tôi những lỗi sau:..
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
Lùi lại đến cơ giới 2.0.1 dường như để giải quyết vấn đề này, nhưng sau đó tôi nhận được cản với vấn đề too many connections reset by peer
. Vì vậy đó không phải là một giải pháp.
tôi đã thử làm a.verify_mode = false
, nhưng điều đó không làm Tôi đã đọc rằng bạn có thể tu tắt xác minh SSL bằng cách sử dụng:
open(uri,:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE)
Làm cách nào để tắt tính năng này trong Cơ chế? Tại sao tôi chỉ nhận được lỗi này trên Windows?
Nếu bạn đang thử nghiệm SSL của một loạt gọi kiểm tra nếu nó có giá trị là không cần thiết. Miễn là mã hóa vẫn giữ? Bạn có biết cách thêm điều kiện này nếu nền tảng là cửa sổ không? –
@KassymDorsel đã cập nhật mã để sử dụng nền tảng có điều kiện, hy vọng điều đó sẽ hữu ích. –
Tôi đã sử dụng a.agent.http.verify_mode = OpenSSL :: SSL :: VERIFY_NONE cho nhiều dự án nhưng bây giờ khi tôi đang sử dụng cùng một điều nó không có hiệu lực. Tôi vẫn nhận được lỗi SSL 'OpenSSL :: SSL :: SSLError ngoại lệ: SSL_connect trả về = 1 errno = 0 state = SSLv2/v3 đọc máy chủ hello A: (null) 'trong khi trong các dự án khác nó hoạt động tốt ... ruby 1.9. 2 và đường ray 3.2.0 – RAJ