2013-11-24 62 views
0

我的代碼:機械化與SSL通代理錯誤

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 

我還試圖關閉證書驗證,嘗試不同的證書等。任何方式,這只是當我嘗試使用代理服務器時纔會出現的錯誤。有任何想法嗎?

+0

如果它是一箇中間人代理,那麼這應該發生,你可能要禁用SSL驗證 – pguardiario

+0

@pguardiario我已經解決問題THX –

回答

0

這是'openssl'程序中的問題。我在我的系統上安裝了postgresql.app,它將PATH env自動更改爲它。所以,同樣的程序也來自poesgresql.app和openssl。糾正路徑解決了問題,默認情況下使系統的openssl成爲首選。