【问题标题】:Mechanize with SSL thru proxy error通过代理错误使用 SSL 进行机械化
【发布时间】:2013-11-24 17:22:23
【问题描述】:

我的代码:

require 'machanize'

agent = Mechanize.new
agent.user_agent = 'Mac Safari'

page = agent.get 'https://github.com

一切正常。但是如果尝试使用代理,我会得到什么

require 'machanize'

agent = Mechanize.new
agent.user_agent = 'Mac Safari'
agent.set_proxy 'X.X.X.X', <port>

page = agent.get 'https://github.com

我有

OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A

我还尝试关闭证书验证,尝试不同的证书和其他。无论如何,我只有在尝试使用代理时才会遇到这个错误。有什么想法吗?

【问题讨论】:

  • 如果它是 mitm 代理,那么应该会发生这种情况,您可能想要禁用 ssl 验证
  • @pguardiario 我已经解决了问题,谢谢

标签: ruby ssl proxy gem mechanize


【解决方案1】:

这是“openssl”程序中的问题。我已经在我的系统上安装了 postgresql.app 并将 PATH env 更改为它自己。所以,同样的程序也来自 poesgresql.app 和 openssl。通过更正路径解决了问题,默认情况下使系统的 openssl 成为首选。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多