【问题标题】:How to connect to a SOCKS proxy in a java applet如何在 Java 小程序中连接到 SOCKS 代理
【发布时间】:2015-05-22 04:51:12
【问题描述】:

我制作了一个访问网页的 Java 小程序。我需要它通过 SOCKS 代理连接到网站我已经尝试将此代码放在我的程序初始化的位置:

System.setProperty("socksProxyHost", "66.85.144.228");
System.setProperty("socksProxyPort", "1080");

但似乎什么也没发生,它只是使用我的正常 IP 地址?

【问题讨论】:

  • 您确定可以为小程序设置它吗?这似乎需要一个签名的小程序(它似乎也应该由浏览器处理,但这可能太有意义了)

标签: java proxy socks


【解决方案1】:

您的属性可能是being set too-late,因为它们在初始化时已经被相关代码读取,但您也可能点击了security restrictions of a sandboxed applet。您的小程序是签名的,还是运行沙盒的?

如果这是一个 Java 应用程序而不是一个小程序,您可以通过在 JVM 启动时设置这些来测试它,例如"-DsocksProxyHost=66.85.144.228 -DsocksProxyPort=1080".

由于您使用的是小程序,因此您可以设置的系统属性受到限制。你可以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 中,因此您的小程序需要完全签名才能运行。

【讨论】:

  • 如何在小程序中设置 JVM 命令行属性?
  • 优秀的评论!更新了特定于小程序的注释。
【解决方案2】:

您可以通过java.net.Proxy. 以编程方式完成此操作

【讨论】:

  • 不是反对者,但您的回答没有解释如何以编程方式使用 java.net.Proxy 来解决问题......
  • @ericbn 这在 Javadoc 中的正常位置进行了解释。问题中没有任何内容表明 OP 想要被喂食。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 2013-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多