【问题标题】:How to unset Socks Proxy如何取消设置 Socks 代理
【发布时间】:2015-10-23 19:26:14
【问题描述】:

我可以通过如下代码设置 socks 代理服务器:

    System.getProperties().setProperty("socksProxySet", "true");
    System.getProperties().setProperty("socksProxyHost", address);
    System.getProperties().setProperty("socksProxyPort", port);

根据http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html,我可以像这样取消设置 HTTP、HTTPS 和 FTP 代理:

    System.setProperty("http.proxyHost", null);

问题:我也可以取消设置 socks 代理吗?

通过做:

    System.getProperties().setProperty("socksProxyHost", null);

除了 NullPointerException 我什么都没有...

【问题讨论】:

    标签: java


    【解决方案1】:

    使用:

    System.clearProperty("http.proxySet");
    System.clearProperty("http.proxyHost");
    System.clearProperty("http.proxyPort");
    

    这将清除代理设置。

    【讨论】:

      【解决方案2】:

      您可能还需要清除 socksProxyPort

      socksProxySet 是虚构的,什么也不做;同上httpProxySethttp.proxySethttps.proxySet 等,尽管它在几本书中都说了。

      但是,如果您必须使用然后不使用代理,那么您真的应该使用 java.net.Proxy 来处理这种事情。

      【讨论】:

      • 是的,我意识到 Proxy 类是一种更好的方法,但是,我正在使用未实现它的扩展代码,现在更改它是不切实际的。我也在清理港口。还有其他想法吗?
      猜你喜欢
      • 2014-10-16
      • 1970-01-01
      • 1970-01-01
      • 2016-09-16
      • 2018-12-22
      • 1970-01-01
      • 2018-12-06
      • 2020-02-23
      • 1970-01-01
      相关资源
      最近更新 更多