我有一個公共代理列表,我從網上刮過,但其中許多實際上並不可連接。我想用Ruby來過濾這個列表。如何檢查代理是否可以在Ruby中連接?
我該如何創建一個函數,使得如果我可以成功連接到代理時返回true,否則返回false?
這裏的總體思路:
def connectable?(proxy)
ip, port = proxy.split(':')
return true if connect(ip, port) == success
false
end
我有一個公共代理列表,我從網上刮過,但其中許多實際上並不可連接。我想用Ruby來過濾這個列表。如何檢查代理是否可以在Ruby中連接?
我該如何創建一個函數,使得如果我可以成功連接到代理時返回true,否則返回false?
這裏的總體思路:
def connectable?(proxy)
ip, port = proxy.split(':')
return true if connect(ip, port) == success
false
end
你可以用 '平' 庫:
require 'net/ping'
def connectable?(proxy)
host, port = proxy.split(':')
return Net::Ping::TCP.new(host, port).ping
end
如果你必須使用IP地址而不是主機名, 'Resolv.getname()' 'resolve'模塊的方法可以幫助你
只要嘗試像你一樣連接到它,不要忘記關閉連接,如果成功。 Ping沒有測試正確的東西。
連接從哪裏來? –