2013-12-17 31 views
0

我嘗試使用ruby 2.0和SOCKSify 1.5.0通過SOCKS代理代理ruby應用程序的流量。Ruby SOCKSify代理不工作

require 'socksify/http' 

uri = URI.parse("www.example.org") 
proxy_addr = "127.0.0.1" 
proxy_port = 14000 

puts Net::HTTP.SOCKSProxy(proxy_addr, proxy_port).get(uri) 

這是最小的工作示例(初始密碼是大了很多,我降低了IT查明錯誤),以及顯然不工作,但我認爲它應該。我沒有收到執行文件的錯誤消息,它不停止,因此我不得不手動中止它。
我曾嘗試溶液後我發現它在this answer(在這個問題的答案的代碼是不同的,但如上述那樣我首先它適於我匹配我的現有的非代理代碼,並隨後降低它)

的代理工作,我測試了兩個torssh -D連接在我自己的網絡服務器和其他網站上。

我是Ruby的新手,對我很裸露。 由於rubyforge似乎不再存在,我無法訪問SOCKSify documentation on it。我認爲該版本可能已過時,不適用於Ruby 2.0或類似的東西。

我在這裏做錯了什麼?或者是否有SOCKSify的替代方案?

回答

0

檢查Net::HTTP#Proxies文件給出了一個例子,我們可以立足於我們的代碼。還要注意在文檔中還可以找到.body方法。

試試這個代碼:

require 'socksify/http' 
uri = URI.parse('http://www.example.org/') 
proxy_addr = '127.0.0.1' 
proxy_port = 1400 
Net::HTTP.SOCKSProxy(proxy_addr, proxy_port).start(uri.host, uri.port) do |http| 
    puts http.get(uri.path).body 
end