2012-10-23 207 views
0

我能夠通過這樣的代碼來設置socks代理服務器:如何取消設置Socks代理

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

Accordind到http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html,我可以不設置這樣的HTTP,HTTPS和FTP代理:

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

問題:我是否也可以取消設置襪子代理?

這樣做:

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

我沒有什麼,但一個NullPointerException ...

回答

0

您可能需要清除socksProxyPort爲好。

socksProxySet是虛構的並且什麼都不做;同上httpProxySet,http.proxySet,https.proxySet等等,儘管它在幾本書中說過。

但是,如果您必須使用然後不使用代理,那麼您應該真的使用java.net.Proxy來處理這種事情。

+0

是的,我意識到Proxy類是一個更好的方法,但是,我使用擴展的代碼段沒有實現它,現在改變它是不切實際的。我也正在清理港口。任何其他想法? – Drugo

0

使用:

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

這將清除代理設置。