filezilla ftp数据下载🆘

从国家地球系统科学数据中心下载数据,已经申请到了,获得了下载链接,但是下载了filezilla并根据教程解析地址填写配置后显示“20秒后无活动,连接超时”“无法连接到服务器”,看了其他问答,把传输设置改成主动,关了防火墙,都依旧没用

img

img

img

可以去问一下csdn的机器人呢

你看看能否ping通域名,ping不通就检查你的防火墙。
要么就问问对方

端口号是什么,为什么不写

首先通过浏览器访问确认你的ftp的确可以正常访问
然后再去使用ftp工具进行设置是否可以正常访问

能ping通吗

img


看下这个文档 https://lookouthost.com/filezilla-ftp-error-connection-timed-out-after-20-seconds-of-inactivity/

提示得很清楚啊,用FTP客户端下,不要用浏览器下。
FlashFXP就还不错。
windows和MAC自带的资源管理器也可以的,当然功能不如专门的FTP客户端强

降低TLS版本试试

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

用FTP客户端下,不要用浏览器下

配置下tls证书

端口配上:22试一试

确保已经正确复制并粘贴了下载链接到FileZilla的下载地址栏中,可以尝试手动输入链接地址进行测试。
尝试使用其他FTP客户端下载,例如WinSCP或者Cyberduck。

用cmd工具ping一下,看通不通

网络不同

java从FTP(FileZilla Server)下载文件
通过浏览器形式下载文件

/**
     * 功能描述: 通过浏览器的方式下载ftp文件
     * @Param: [url, port, username, password, ftpFilePath, fileName, response]
     *             文件host地址,端口,用户名,密码,ftp虚拟路径,文件名称(包含后缀)
     * @Return: void
     */
    public static void downloadFile(String url,int port,String username,String password,String ftpFilePath, String fileName, HttpServletResponse response) {
        FTPClient ftpClient = new FTPClient();
        //设置传输命令的超时
        ftpClient.setDefaultTimeout(20000);//毫秒
        //设置两个服务连接超时时间
        ftpClient.setConnectTimeout(10000);//毫秒
        //被动模式下设置数据传输的超时时间
        ftpClient.setDataTimeout(15000);//毫秒
        //被动模式
        ftpClient.enterLocalPassiveMode();
 
        InputStream input = null;
        OutputStream out = null;
        try {
            //连接FTP
            ftpClient.connect(url, port);
            //更加账户密码登录服务
            ftpClient.login(username, password);
            response.reset();
            //此处你就根据你要下载的类型去设置即可,比如我下载.avi格式的文件,可以设置response.setContentType("video/avi");
            response.setContentType("application/download");
            //解决中文不能生成文件
            response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(fileName,"UTF-8"));
            response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
            ftpClient.setControlEncoding("utf-8");
            //传输模式
            ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
            // 设置以二进制流的方式传输
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
            //进入目录
            ftpClient.changeWorkingDirectory(ftpFilePath);
            FTPFile[] files = ftpClient.listFiles();
            if (files.length < 1) {
                log.error("目录为空");
            }
            boolean fileExist = false;
            for (FTPFile ftpFile : files) {
                String ftpFileName=new String(ftpFile.getName());
                if (fileName.equals(ftpFileName)) {
                    fileExist = true;
                    input = ftpClient.retrieveFileStream(new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1));
                    out = response.getOutputStream();
                    int len;
                    byte[] bytes = new byte[1024];
                    while ((len = input.read(bytes)) != -1) {
                        out.write(bytes, 0, len);
                    }
                    out.flush();
                    break;
                }
            }
            if (!fileExist) {
                log.error("FTP服务器上文件不存在");
            }
        } catch (IOException e) {
            e.printStackTrace();
            log.error("下载文件异常");
        } finally {
            try {
                if (out != null) {
                    out.close();
                }
                if (input != null) {
                    input.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                if (ftpClient != null && ftpClient.isConnected()) {
                    ftpClient.disconnect();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

这个问题可能是由于您的FileZilla连接设置不正确导致的。以下是一些可能的解决方案:
1.检查您的网络连接是否正常,确保您可以访问服务器。
2.检查您的FTP服务器地址、端口号、用户名和密码是否正确。
3.在FileZilla工具栏点击编辑——>设置将超时秒数(O)的数值设置的大一点(默认是20),例如33秒 。
4.如果以上方法都不行,可以尝试关闭防火墙或者使用其他FTP客户端软件

首先,检查下ftp服务的主动/被动模式的设置(Passive Mode ),还有防火墙的设置,网络。
然后:
如果你想使用 FileZilla 下载 FTP 数据,可以按照以下步骤进行操作:

首先,确保已经安装了 FileZilla 客户端。你可以从官方网站(https://filezilla-project.org/)下载并安装它。

打开 FileZilla 客户端,点击顶部菜单栏的 "文件(File)",选择 "站点管理器(Site Manager)"。

在站点管理器中,点击 "新建站点(New Site)",然后为站点命名。

在 "主机(Host)" 字段中输入 FTP 服务器的地址。如果有端口号,请在地址后面使用冒号(:)加上端口号。

选择 "协议(Protocol)" 为 "FTP - 文件传输协议(FTP - File Transfer Protocol)"。

在 "登录类型(Logon Type)" 中选择适合你的登录方式。通常情况下,选择 "常规(Generic)" 即可。

输入 FTP 服务器的用户名和密码,这些信息通常由 FTP 服务器的管理员提供。

点击 "连接(Connect)" 按钮,FileZilla 将尝试连接到 FTP 服务器。

一旦连接成功,你将看到服务器文件列表显示在 FileZilla 的右侧窗口中。

导航到你想要下载的文件所在的目录,然后在本地电脑中选择一个目标文件夹。

在服务器文件列表中,选中你要下载的文件,然后右键点击它,选择 "下载(Download)"。

FileZilla 将开始下载选定的文件到你指定的目标文件夹中。

这只是一个基本的指南,并且实际操作可能会因服务器设置和网络条件而有所不同。