2013-03-06 41 views
0

我試過幾個寶石,實例等,並不能得到這個工作,更有前途的寶石分別爲:double-bag-ftpsFTPFXP,我可以連接,但我無法傳輸文件,在主動或被動模式..任何人都可以工作FTPS/FTP :: TLS在Ruby 1.9.3下?

樣本代碼與ftpfxp:

:與雙袋

ftps = DoubleBagFTPS.new 
ftps.ssl_context = DoubleBagFTPS.create_ssl_context(:verify_mode => OpenSSL::SSL::VERIFY_NONE) 
ftps.connect('192.168.0.2') 
ftps.login('myuser2', 'mypass2') 
ftps.chdir('/') 
ftps.get("data.txt") 
ftps.close 

樣品誤差:與雙袋

@conn2 = Net::FTPFXPTLS.new 
@conn2.passive = true 
@conn2.debug_mode = true 
@conn2.connect('192.168.0.2', 990) 
@conn2.login('myuser2', 'mypass2') 
@conn2.chdir('/') 
@conn2.get("data.txt") 
@conn2.close 

示例代碼

~/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/double-bag-ftps-0.1.0/lib/double_bag_ftps.rb:148:in `connect': Broken pipe - SSL_connect (Errno::EPIPE) 

樣品誤差ftpfxp:

~/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/net/ftp.rb:206:in `initialize': No route to host - connect(2) (Errno::EHOSTUNREACH) 

任何recomendation不涉及外部命令?

謝謝。

回答

0

我已經解決了這個問題,服務器正在返回一個私人IP地址,同時試圖以明確的tls進行pasive模式連接,所以我已經添加了一行到Double-Bag-FTPS來檢查返回的IP是私人退回到原來的公網IP地址...

GitHub Pull request

因此,如果有人有相同的問題,也許這就是答案希望這可以幫助別人:)

相關問題