2013-05-03 69 views
-3

我非常好奇,在通過代理服務器時,Java是否支持make目錄並上傳功能/協議?我在問,因爲我很快就要學習一點Java,看看它是否可行,因爲C#.NET在通過代理服務器時不支持這些協議。如果是這樣,請你指點我正確的方向&也許提供最好的圖書館(免費)使用。太感謝了!!!Java - 通過代理服務器創建目錄並將文件上傳到主服務器(目標)

+0

什麼是你說的「這些協議」?恐怕你的問題的前提被打破了。我確定任何C#FTP庫都支持'mkdir',代理服務器或不支持;但是不管語言如何,HTTP庫都不會,因爲HTTP不提供這樣的功能。當然,如果你有服務器端代碼來創建一個目錄 - 比如說,作爲一個Web服務 - 那麼任何Web服務客戶端庫都可以用來調用它。 – 2013-05-03 23:55:56

+0

您好歐內斯特..感謝您的迴應。對不起...澄清。如果在Java中使用FTP代理類,我希望它在通過代理服務器時支持方法(mkdir和upload)。在C#中,我會得到類似於「使用HTTP代理時不支持FTP命令」的內容。不幸的是,我沒有服務器端代碼。我只需要去...在這些目錄中創建目錄並上傳文件。我的代碼工作正常,除了當一個代理服務器被投入混合。微軟表示,在通過代理時,他們不會支持mkdir和上傳。謝謝歐內斯特。 – 2013-05-04 00:54:19

+0

是[this](http://mycodetrip.com/2008/10/29/fix-for-error-the-requested-ftp-command-is-not-supported-when-using-http-proxy_118/)有幫助? – 2013-05-04 02:11:17

回答

0

我不能評論C#,但Java肯定對代理有很好的支持。您可以閱讀the Oracle documentation on Using Proxies。也請通過在JDK 1.5中引入的ProxySelector

設置系統屬性後,可以按照以下方式使用系統代理。下面給出一個例子..

Proxy proxy = (Proxy) ProxySelector.getDefault().select(new URI("http://www.yahoo.com/")).iterator(). 
     next(); 
System.out.println("proxy hostname : " + proxy.type()); 
InetSocketAddress addr = (InetSocketAddress) 
proxy.address(); 
if (addr == null) { 
    System.out.println("No Proxy"); 
} 
else { 
    System.out.println("proxy hostname : " 
    + addr.getHostName()); 
    System.out.println("proxy port : " 
    + addr.getPort()); 
} 
+0

真棒.....謝謝AurA。你會建議我使用的任何特定程序?只要確定...讓我們說,我使用你很優雅地提供給我的代碼段...我可以使用FTP方法,如make目錄和上傳? – 2013-05-04 00:53:36

+0

用於Oracle網站中給出的一個....我的第一個鏈接...我給的只是一個簡單的例子。 – AurA 2013-05-04 01:12:23

+0

好的,謝謝AurA。 – 2013-05-04 22:49:41

相關問題