我已经制作了一个访问网页的Java小程序。我需要它通过SOCKS代理连接到一个网站我已经尝试将这个代码放在我的程序初始化的地方:
System.setProperty("socksProxyHost", "66.85.144.228");
System.setProperty("socksProxyPort", "1080");
但似乎没有任何事情发生,只是使用我的普通IP地址?
答案 0 :(得分:1)
您的属性可能是being set too-late,在初始化后相关代码已经读过它们,但您也可能正在点击security restrictions of a sandboxed applet。您的小程序是否已签名,或者是否正在运行沙盒?
如果这是一个Java应用程序而不是一个applet,你可以通过在JVM启动时设置这些来测试它,例如: "-DsocksProxyHost=66.85.144.228 -DsocksProxyPort=1080"
。
由于您正在使用applet,因此您可以设置哪些系统属性存在限制。你可以set deployment parameters:
<APPLET archive="my_applet.jar" code="MyApplet" width="300" height="300">
<PARAM name="java_arguments" value="-DsocksProxyHost=66.85.144.228">
</APPLET>
...但socksProxyHost
当然不在list of trusted/secure properties中,因此您的小程序需要完全签名才能运行。
答案 1 :(得分:-1)
您可以通过java.net.Proxy.