2014-03-04 43 views
0

我需要能够使用密码保护的代理并能够读取从url返回的json信息。Java Web代理,返回JSON对象

我不想在系统级声明代理;我想要在同一个应用程序中使用多个代理。

这样做的最好方法是什么?

回答

0

我曾经面临同样的问题。不幸的是,JSoup不是一个好的选择。我结束了使用apache http client,它与代理很好地工作。

这里是我的HTTP客户端配置的代理相关部分:

String ipStr = "the.proxy.ip.string"; 
int port = 8080; 
String proxyLogin = "your login name"; 
String proxyPassword = "your password"; 

httpClient.getCredentialsProvider().setCredentials(
    new AuthScope(ipStr, port), 
    new UsernamePasswordCredentials(proxyLogin, proxyPassword)); 

HttpHost httpHost = new HttpHost(ipStr, port, "http");  
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, httpHost); 

可以使用HTTP客户端来获取网站或净JSON响应。如果内容是HTML,则可以使用JSoup作为解析器和返回的输入。如果你得到了JSON,那么你可能想使用一个像json-simple这样的JSON解析器(但是还有很多其他非常有用的JSON库!)