/question/245219177.html
JAVA编写FTP连接报错.ConnectException: Connection refused: connect FTP
-3-29 16:43 提问者:liulyxb | 浏览次数:512次
代码如下:import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import .TelnetOutputStream;import .TelnetInputStream;import .ftp.FtpClient;public class FtpTest {String localfilename;String remotefilename;FtpClient ftpClient;// server:服务器名字// user:用户名// password:密码// path:服务器上的路径public void connectServer(String ip, int port,String user, String password,String path) {try {ftpClient = new FtpClient();ftpClient.openServer(ip,port);ftpClient.login(user, password);System.out.println("login success!");if (path.length() != 0) ftpClient.cd(path);ftpClient.binary();} catch (IOException ex) {System.out.println("not login");System.out.println(ex);}}public void closeConnect() {try {ftpClient.closeServer();System.out.println("disconnect success");} catch (IOException ex) {System.out.println("not disconnect");System.out.println(ex);}}public static void main(String agrs[]) {FtpTest ft = new FtpTest();//以连接本机做测试ft.connectServer("127.0.0.1",21, "实际的账号", "实际密码","/");}}
问题补充:
错误提示:not .ConnectException: Connection refused: connect
-3-29 16:51 满意回答
你本地有没有FTP服务器在运行?
追问
你的意思是?
回答
你本地有没有FTP的 server端? 在cmd窗口里用下面命令看有没有端口为21的程序。C:\Users\Administrator>netstat -a
追问
我本机没有server端,你所说的FTP server不一定是JAVA写的吧?以前我都是用FileZilla远程连接到那台机器。把文件放上去。现在我是想写代码让程序自己上传到这台机器上。可以一直就连接不上。21端口没有用,PING远程机器也可以PING通
回答
那你127.0.0.1应该改成远程机器的IP。
追问
我改过了,也试过了,还是报这个错误。
回答
端口是21吗,还有用户名密码注意大小写等
追问
端口是21,自己的机器账号密码肯定没错,连远程的机器用FileZilla测试过是可以连接的。所以账号密码肯定没问题。问题到底出在哪啊?困扰两天了
回答
这个应该没问题。如果端口、用户名、密码和你在FileZilla里设置的一模一样,那可能是你远程服务器上的ftp需要加密传输等等其它设置。你可以仔细比较FileZilla上有什么不同
如果觉得《ftp连接 java.net.ConnectException: Connection refused》对你有帮助,请点赞、收藏,并留下你的观点哦!