Я сделал приложение, которое также использовало смесь прокси, но это было некоторое время назад. В этой версии HtmlUnit требовалось явно указать, был ли прокси SOCKS или нет, иначе предполагалось, что это HTTP-прокси. Я кратко посмотрел в журналах изменений и не нашел ничего, что указывало бы на то, что это изменилось, поэтому ответ должен быть «нет», он будет предполагать, что прокси-сервер HTTP, если вы не говорите HtmlUnit, что прокси-сервер SOCKS.
Чтобы проверить тип прокси, можно использовать что-то вроде:
SocketAddress addr = new InetSocketAddress("proxyAddress", port);
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); //or Proxy.Type.SOCKS
URL url = new URL("http://google.com");
URConnection conn = url.openConnection(proxy);
Если код завершается ошибкой (т. Е. Генерируется исключение), то, скорее всего, прокси-сервер либо мертв, либо SOCKS. (HtmlUnit все равно сгенерирует исключение в первом случае, или вы можете выполнить тот же тест снова с Proxy.Type.SOCKS, если вы не уверены, что прокси жив.)