Как проверить, подключен ли прокси в Ruby? - PullRequest
2 голосов
/ 17 октября 2011

У меня есть список публичных прокси, которые я вычеркнул из Интернета, но многие из них на самом деле не подключаемы.Я хотел бы отфильтровать этот список, используя Ruby.

Как мне создать функцию, которая возвращает true, если я могу успешно подключиться к прокси, и false в противном случае?

Вот общая идея:

def connectable?(proxy)
  ip, port = proxy.split(':')
  return true if connect(ip, port) == success
  false
end

Ответы [ 2 ]

3 голосов
/ 18 октября 2011

Просто попробуйте подключиться к нему, как вы, не забывая закрыть соединение, если оно удастся. Пинг не проверяет правильные вещи.

2 голосов
/ 17 октября 2011

Вы можете использовать библиотеку ping:

require 'net/ping'

def connectable?(proxy)
  host, port = proxy.split(':')
  return Net::Ping::TCP.new(host, port).ping
end

Если вам нужно использовать IP-адрес вместо имени хоста, метод Resolv.getname () из модуля 'resol' может вам помочь

...