Как использовать прокси Http, Socks4 и Socks5 в Java? - PullRequest
5 голосов
/ 16 января 2010

Я хочу отсканировать сайт и для этого я хочу использовать прокси Http, Socks4 и Sock5. Поэтому мои вопросы таковы:

  1. Возможно ли использовать эти прокси через Java без использования какого-либо другого внешнего API? Например, можно ли отправить запрос через HttpURLConnection через эти прокси?

  2. Если это невозможно, то какие еще внешние API можно использовать?

  3. Я делал это с помощью безголового браузера, предоставляемого HtmlUnit , но для загрузки даже простых веб-страниц требуется время, поэтому не могли бы вы предложить мне другие API (если таковые имеются), которые предоставляют браузеры без головы которые быстро загружают веб-страницы. Я не хочу открывать веб-страницы, которые содержат тяжелый код AJAX или Javascript. Мне просто нужно нажать на кнопку формы через браузер без головы.

Ответы [ 2 ]

3 голосов
/ 16 января 2010

Возможно ли использовать эти прокси через Java без использования какого-либо другого внешнего API? Например, возможно ли отправить запрос через HttpURLConnection через эти прокси?

Да, вы можете настроить прокси либо с помощью (глобальных) системных свойств, либо с помощью класса Proxy, либо с помощью ProxySelector. Два более поздних варианта доступны с Java 5 и являются более гибкими. Взгляните на Java Networking and Proxies , как упомянуто jarnbjo для всех деталей.

Я делал это с помощью безголового браузера, предоставленного HtmlUnit, но для загрузки даже простых веб-страниц требуется время, поэтому не могли бы вы предложить мне другие API (если таковые имеются), которые предоставляют безголовые браузеры, которые быстро загружают веб-страницы. Я не хочу открывать веб-страницы, которые содержат тяжелый код AJAX или Javascript. Мне просто нужно нажать на кнопку формы через браузер без головы.

К сожалению, первые альтернативы, которые я могу придумать, основаны на HtmlUnit (например, JWebUnit или WebTest ) или медленнее ( Selenium , WebDriver - что вы можете запустить в режиме без головы). Но, возможно, вы можете попробовать HttpUnit , если вам не нужна расширенная поддержка JavaScript.

1 голос
/ 16 января 2010

Да, это возможно. Вы можете найти параметры конфигурации для различных сетевых прокси здесь .

...