ftp上传文件的时候出现ftp链接失败或者文件上传失败

41 篇文章 0 订阅

今天在处理linux中的服务上传window的ftp服务器的时候发现ftp链接和上传文件失败。

链接时的报错:

java.net.ConnectException: Connection refused (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:171)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:192)
    

上传文件的报错:
java.net.SocketTimeoutException: Accept timed out
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
    at java.net.ServerSocket.implAccept(ServerSocket.java:545)
    at java.net.ServerSocket.accept(ServerSocket.java:513)
    at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:729)
    at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:565)
    at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:557)
    at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1795)
 或者上传文件报错:
java.net.SocketException: Broken pipe (Write failed)
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
    at java.io.BufferedWriter.flush(BufferedWriter.java:254)
    at org.apache.commons.net.ftp.FTP.__send(FTP.java:501)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:475)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:552)
    at org.apache.commons.net.ftp.FTP.cwd(FTP.java:773)
    at org.apache.commons.net.ftp.FTPClient.changeWorkingDirectory(FTPClient.java:998)

 

将自己遇到的和网上搜索的:

FTP连接失败的主要原因有一下几个
一、FTP服务器的域名解析问题,当连接FTP时地址栏填写了服务器的域名,如果DNS服务器解析出问题,就无法得到对方的IP地址,因此无法连接FTP。
二、错误的用户名和密码。许多FTP服务器禁止了匿名连接,这样是为了安全起见,连接时输入错误的用户名和密码或者不输入用户名和密码导致连接失败。可以通过网页或者文件夹登录ftp测试
三、传输模式错误。许多服务器在安装了防火墙后设置了被动模式传输,用户在连接时需要采用被动模式(pasv)或者自动模式。FtpClient.enterLocalPassiveMode(); //被动模式 或 FtpClient.enterLocalActiveMode();//主动模式

四、FTP服务器错误。对方服务器宕机,可以通过PING命令来测试FTP服务器是否存活。
五、错误的端口或者自身电脑防火墙不允许。许多安全软件禁止了FTP连接,自身电脑无法连接FTP端口。

我这里的原因就是自己的服务本来是可以的。但是由于某些原因重启了服务器。所以linux的防火墙自动启动。不允许访问,导致ftp链接失败和上传失败。关闭调防火墙之后就正常了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值