2013-05-03 89 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

相关问题