大家好。
我有个奇怪的问题。在我正在进行的项目中,我需要将一个文件上传到FTP站点。我以前写过很多这样做的程序,它们运行得很好。但这个网站给我带来了麻烦。当我试图从程序上传文件时,我会将其具体如下:
java.net.UnknownHostException:ftp://site.com
然而,当我试图连接到同一网站从浏览器(Chrome,IE)或从windows资源管理器,我能够找到该网站和登录很好。我张贴一张照片很累,但由于我是个新手,所以被阻止了。
所以我现在很困惑。如果无法从windows连接,则可以假定这是FTP服务器问题。这种情况只发生在Java程序中。我还知道,我的代码就像我以前在许多场合中使用过的那样工作。下面是我使用的代码:
public void uploadFile(String fileName) throws Exception {
FileTransferClient ftpClient = null;
try {
ftpClient = new FileTransferClient();
ftpClient.setRemoteHost(gv.ftpHost);
ftpClient.setRemotePort(21);
ftpClient.setUserName(gv.ftpUserName);
ftpClient.setPassword(gv.ftpPassword);
ftpClient.getAdvancedFTPSettings().setConnectMode(FTPConnectMode.PASV);
ftpClient.connect();
ftpClient.uploadFile(gv.irp + fileName, fileName, WriteMode.OVERWRITE);
}
catch (Exception e) {
throw new Exception("Error occured in uploadFile()\n" + e);
}
finally {
if (ftpClient != null) {
if (ftpClient.isConnected()) {
ftpClient.disconnect();
}
ftpClient = null;
}
}
}我使用edtFTPj库。我的环境是运行在Windows 7 64位计算机上的Java1.6 (32位)上的Eclipse (32位)。
任何有关解决这一问题的见解都将受到极大的赞赏。耽误您时间,实在对不起。
发布于 2010-11-19 17:33:32
讯息
java.net.UnknownHostException:ftp://site.com
强烈建议您尝试打开一个连接到一个名为"ftp://site.com“的主机,不幸的是,它是一个url,而不是主机名,因此找不到。
尝试更改您的代码,以便它连接到"site.com“。
发布于 2010-11-19 17:28:29
UnknownHostException意味着Java网络库无法通过DNS查找将提供的主机名转换为IP地址。
您是否为浏览器配置了某种代理服务器?我所能想到的就是,如果某些应用程序(浏览器)可以解析主机名,而另一些应用程序(Java)不能解析主机名,则必须设置一些替代的网络配置。
如果您确实需要为您的Java设置代理,请参阅如何为Java配置代理设置?。
https://stackoverflow.com/questions/4227624
复制相似问题