为什么我在尝试通过 Matlab ftp 访问支持 TLS 的 FTP 服务器 [Box.com] 时遇到"connection-refused"?



我正在尝试使用MATLAB FTP功能访问我的Box帐户上的文件。我通常通过box web平台或FileZilla手动处理我的box文件,两者都没有问题。然而,我现在正试图用Matlab实现这一过程的自动化,似乎已经遇到了第一个障碍。

根据MATLAB FTP文档(链接(,我试图为我的Box地址设置一个FTP对象,但没有成功:

>>ftpobj = ftp("ftp.box.com",myUname, myPassword);
Error using matlab.io.ftp.FTP (line 175)
Connection refused for "ftp://ftp.box.com".
Error in ftp (line 63)
h = matlab.io.ftp.FTP(host, varargin{:});
Error in NotForGithub (line 8)
ftpobj = ftp("ftp.box.com",myUname, myPassword);

经过一些搜索,我发现r2021b在某个点(链接(有FTP错误,但尝试他们的例子,我发现这不是我的问题:

>> ftpobj = ftp("ftp.ngdc.noaa.gov")
FTP with properties:
Host: "ftp.ngdc.noaa.gov"
Username: "anonymous"
Port: 21
ServerLocale: "en_US"
DirParserFcn: @matlab.io.ftp.parseDirListingForUnix
Mode: "binary"
LocalDataConnectionMethod: "passive"
RemoteWorkingDirectory: "/"

我更新了Matlab,但问题仍然存在。受上述启发,我试图在不提供详细信息的情况下访问Box(以防出现问题(,但仍然遇到以下问题:

>> ftpobj = ftp("ftp.box.com")
Error using matlab.io.ftp.FTP (line 175)
Connection refused for "ftp://ftp.box.com".
Error in ftp (line 63)
h = matlab.io.ftp.FTP(host, varargin{:});

我也看到人们谈论";用于Matlab的SSH/SFTP/SCP(v2(";(链接(,但我根本不清楚:
我将如何将其应用于我正在尝试做的事情
这就是解决方案吗?

(我也在MATLAB社区论坛上发布了这篇文章,并将把我得到的任何答案都贴在这里(链接((

这是我通过FileZilla连接时的输出:

Status: Resolving address of ftp.box.com
Status: Connecting to 107.152.26.220:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Status: Directory listing of "/" successful

您在FileZilla中使用TLS加密FTP。在MATLAB中做同样的事情似乎已经解决了这个问题:

ftpobj = ftp("ftp.box.com", myUname, myPassword, 'TLSMode', 'strict');