2012-06-04 2 views
1

В настоящее время я работаю над проектом веб-запросов, и я использую Apache Http Client library. Я пытаюсь подключиться к серверу (например, http://www.google.com) с работающими Socks v4/5, протестированными с помощью firefox Mozilla, но проблема в том, что я никогда не получаю ответа. Только различные ошибки ...Apache HTTP Client socks proxy

Вот фрагмент кода:

//HttpClient 
DefaultHttpClient http = new DefaultHttpClient(); 
//A class defined by me 
Proxy proxy = bla bla; 
HttpHost host = new HttpHost(proxy.getIP(), proxy.getPort()); 
if (proxy.getUsername() != null) { 
    http.getCredentialsProvider().setCredentials(
          new AuthScope(proxy.getIP(), proxy.getPort()), 
          new UsernamePasswordCredentials(proxy.getUsername(), proxy.getPassword())); 
} 
http.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, host); 

Может кто-нибудь сказать, как правильно начать comunnication через SOCKS прокси? Благодаря!

Примечание: код выше отлично работает с проксими HTTP.

+0

какие ошибки у получить? –

+0

java.net.SocketException: программное обеспечение вызвало прерывание соединения: recv failed или server unreacheable и т. Д. НО, если я использую прокси-сервер с mozilla, он работает. –

ответ

0

Прокси-сервер и прокси-сервер Http имеют очень разные протоколы (http://en.wikipedia.org/wiki/SOCKS#Comparison). Для вашего вопроса: Вы можете сделать thTis нативным Java сокет (How can I configure HTTPClient to authenticate against a SOCKS proxy?) или создать свою собственную реализацию над DefaultClientConnectionOperator, вот хороший гид (http://4devops.blogspot.com/2011/10/httphttps-over-socks-proxy-with-java.html)

 Смежные вопросы

  • Нет связанных вопросов^_^