0

我希望我的应用程序通过代理服务器连接到互联网(以避免验证码)。我目前使用的代码是这样的:

Properties props = System.getProperties();
props.put("http.proxyPort", proxyPort); //proxy port
props.put("http.proxyHost", proxyHost); //proxy host
props.put("http.proxySet", "true");

但是,此代码不成功。有什么建议么?

4

3 回答 3

2

您可以尝试以下方法:

SocketAddress sa = new InetSocketAddress(proxy_host_name, proxy_port_address);
Proxy proxy = new Proxy(Proxy.Type.xxx, sa);
URLConnection con = new URL(url).openConnection(proxy);
于 2012-07-26T14:37:02.473 回答
0

将参数放在命令行上或使用setProperty.

java -Dhttp.proxyHost=proxy.host -Dhttp.proxyPort=3128 MainClass
于 2013-05-07T16:40:57.087 回答
0

您可能正在使用一种“用户友好的网站代理”,例如http://newipnow.comwww.proxyultra.com。但是你需要使用真正的SOCKS 代理服务器。

我在公共代理列表中找到了一个免费的服务器:

System.setProperty("http.proxyHost", "187.115.172.82");
System.setProperty("http.proxyPort", "8181");

无需设置http.proxySet属性。

从这里的好列表中选择一个服务器:隐藏我的屁股:代理列表

于 2012-07-26T14:45:18.210 回答