FTP连接失败的原因?,第1张

考虑以下原因

1、防火墙挡住了

2、没有查看内容的权限

3、网管屏蔽了FTP端口

默认是pasv模式,因为服务端防火墙的设置,客户端不能用pasv模式,将设置中的pasv模式置为空,就正常了

FTP连接服务器失败的原因一般有以下几种:

1、网络不通导致FTP连接服务器失败

有时可能是由服务器或者电脑本地网络有问题,导致FTP连接服务器失败。可以通过浏览器查看网页测试是否是网络问题。

2、服务器出现宕机、死机、重启等情况

我们在租用服务器时,都会对服务器的访问速度及稳定性进行考察。服务器出现右机、死机、重启等情况不仅会导致FIP连接服务器失败,也直接导致网站无法正常运营,从而影响网站优化排名及用户体验。如果出现此情况,尽快联系服务器提供商进行解决。

3、防火墙设置出现问题导致服务器连接失败查看我们的防火墙设置是否勾选了“PASV模式”,如果勾选,那么将取消,然后尝试重新连接。

4、FTP软件出现问题导致连接服务器失败有时我们会忘记对软件的及时更新,所以导致使用的FTP软件版本过低或者被停用,再或者该软件出现了问题。此时我们可以先删除现有软件,然后重新安装。

5、短时间内连接服务器次数过多

可能由于FTP连接服务器的速度稍微有些慢,我们等待的比较着急,就不停地点击连接按钮,导致短时间内容连接次数过于频繁而连接失败。

6、服务器被ISP屏蔽导致FTP连接服务器失败判断服务器是否被ISP屏蔽,可以通过使用代理服务器进行连接测试。

7、租用的服务器后台被关闭

如果以上几种情况都被排除,那么很有可能是我们所租用的服务器后台被关闭了,此时需要连接服务器提供商进行核查与修改。

FTP连接服务器失败的原因有很多,基本比较常见的情况就是以上几种。为保障网站的正常运营,当出现FTP服务器失败的情况,应及时检查其原因并解决。

FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

java测试连接ftp是否连通可以使用判断是否有异常来决定,实例如下:

      connectServer 

      连接ftp服务器 

      @throws javaioIOException 

      @param path 文件夹,空代表根目录 

      @param password 密码 

      @param user    登陆用户 

      @param server 服务器地址 

     / 

  public void connectServer(String server, String user, String password,  String path) 

  throws IOException 

   { 

     // server:FTP服务器的IP地址;user:登录FTP服务器的用户名 

     // password:登录FTP服务器的用户名的口令;path:FTP服务器上的路径 

      ftpClient = new FtpClient(); 

      ftpClientopenServer(server); 

      ftpClientlogin(user, password); 

     //path是ftp服务下主目录的子目录 

     if (pathlength() != 0)   ftpClientcd(path); 

     //用2进制上传、下载 

      ftpClientbinary();      

      upload 

      上传文件 

      @throws javalangException 

      @return -1 文件不存在 

                -2 文件内容为空 

                >0 成功上传,返回文件的大小 

      @param newname 上传后的新文件名 

      @param filename 上传的文件 

     / 

public long upload(String filename,String newname) throws Exception 

     long result = 0; 

      TelnetOutputStream os = null; 

      FileInputStream is = null; 

     try {          

          javaioFile file_in = new javaioFile(filename); 

         if (!file_inexists()) return -1; 

         if (file_inlength()==0) return -2; 

          os = ftpClientput(newname); 

          result = file_inlength(); 

          is = new FileInputStream(file_in); 

         byte[] bytes = new byte[1024]; 

         int c; 

         while ((c = isread(bytes)) != -1) { 

               oswrite(bytes, 0, c); 

          } 

      } finally { 

         if (is != null) { 

              isclose(); 

          } 

         if (os != null) { 

             osclose(); 

          } 

      } 

    return result; 

      upload 

      @throws javalangException 

      @return 

      @param filename 

     / 

public long upload(String filename) 

throws Exception 

    String newname = ""; 

    if (filenameindexOf("/")>-1) 

     { 

        newname = filenamesubstring(filenamelastIndexOf("/")+1); 

     }else 

     { 

        newname = filename; 

     } 

    return upload(filename,newname); 

        download 

        从ftp下载文件到本地 

      @throws javalangException 

      @return 

      @param newfilename 本地生成的文件名 

      @param filename 服务器上的文件名 

     / 

public long download(String filename,String newfilename) 

throws Exception 

{   

    long result = 0; 

     TelnetInputStream is = null; 

     FileOutputStream os = null; 

    try 

     { 

        is = ftpClientget(filename);        

        javaioFile outfile = new javaioFile(newfilename); 

        os = new FileOutputStream(outfile); 

       byte[] bytes = new byte[1024]; 

       int c; 

       while ((c = isread(bytes)) != -1) { 

            oswrite(bytes, 0, c); 

            result = result + c; 

        } 

     } catch (IOException e) 

     { 

        eprintStackTrace(); 

     } 

    finally { 

         if (is != null) { 

              isclose(); 

          } 

         if (os != null) { 

             osclose(); 

          } 

      } 

     return result; 

    取得某个目录下的所有文件列表 

    

   / 

public List getFileList(String path) 

     List list = new ArrayList(); 

    try 

     { 

        DataInputStream dis = new   DataInputStream(ftpClientnameList(path)); 

       String filename = ""; 

       while((filename=disreadLine())!=null)   

        {   

          listadd(filename);         

        }   

    

     } catch (Exception e) 

     { 

        eprintStackTrace(); 

     } 

    return list; 

      closeServer 

      断开与ftp服务器的链接 

      @throws javaioIOException 

     / 

public void closeServer() 

throws IOException 

{    

   try 

    { 

      if (ftpClient != null) 

       { 

         ftpClientcloseServer();      

       } 

    } catch (IOException e) { 

       eprintStackTrace(); 

    } 

   

  public static void main(String [] args) throws Exception 

   { 

     FtpUtil ftp = new FtpUtil(); 

    try { 

         //连接ftp服务器 

          ftpconnectServer("10163715", "cxl", "1", "info2"); 

         /   上传文件到 info2 文件夹下 / 

          Systemoutprintln("filesize:"+ftpupload("f:/download/Installexe")+"字节"); 

         / 取得info2文件夹下的所有文件列表,并下载到 E盘下 / 

          List list = ftpgetFileList(""); 

         for (int i=0;i<listsize();i++) 

          { 

            String filename = (String)listget(i); 

             Systemoutprintln(filename); 

             ftpdownload(filename,"E:/"+filename); 

          } 

     } catch (Exception e) { 

       /// 

     }finally 

     { 

        ftpcloseServer(); 

     } 

   }   

}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » FTP连接失败的原因?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情