我需要能够使用受密码保护的代理,并能够读取从网址返回的json信息。
我不想在系统级别声明代理;我想在同一个应用程序中使用多个代理。
这样做的最佳方式是什么?
答案 0 :(得分:0)
我曾经面临同样的问题。不幸的是,JSoup不是一个好的选择。我最终使用apache http client,它与代理很好地配合。
以下是我的http-client配置中与代理相关的部分:
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-client从网络获取网站或JSON响应。如果内容是HTML,则可以使用JSoup作为返回输入的解析器。如果你得到JSON,那么你可能想要使用像json-simple这样的JSON解析器(但是还有许多其他非常有用的JSON库!)