2015-12-06 4 views
0

Я пытаюсь проверить, работают ли прокси-серверы wether. Я использую этот код, но он работает неправильно. Он возвращает true, но когда я пытаюсь использовать прокси-сервер, программа истекает.Проверьте, работает ли прокси

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("ip", port)); 
int timeout = 9000; 
URL url = new URI("http://google.com/").toURL(); 
URLConnection connection = url.openConnection(proxy); 
connection.setConnectTimeout((int) timeout); 
connection.setReadTimeout((int) timeout);  
long start = System.currentTimeMillis(); 
connection.connect(); 
long delay = System.currentTimeMillis() - start; 
return delay <= timeout; 

Благодаря

+0

Разница в времени? Но этот код не имеет смысла. Задержка не может быть больше, чем таймаут, иначе было бы выбрано исключение. – EJP

ответ

0

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

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

+0

Но есть много публичных прокси, большинство из них мертвы, поэтому нужно как-то отфильтровать их. – Jhonny