文件上传到ftp和sftp

问题描述 投票:1回答:2

我陷入了一个问题。 根据我的最新要求,我必须将文件上传到ftp或sftp服务器。 问题是我不知道服务器是ftp还是sftp。 在运行时,客户端将提供我必须上传文件的服务器的IP和其他详细信息。 因此,在运行时,我必须了解服务器是ftp还是sftp,然后需要采取相应的措施。 那么,这有什么出路吗?

java ftp sftp
2个回答
2
投票

默认情况下,SFTP(SSH文件传输协议)使用端口22。

有些人使用“ SFTP”来表示FTPS(基于TLS的FTP)。 在这种情况下,您有两个选择:显式TLS和隐式TLS。 默认情况下,隐式TLS使用端口990。 在显式模式下,客户端默认情况下连接到端口21,然后告诉服务器通过现有连接启动TLS握手。

普通FTP使用端口21。

现在,用户可以明确指定要使用的协议。

最后,您可以尝试连接,从套接字获取第一行数据并进行分析。 在FTP / FTPS中,第一行应以220SP开头(SP代表空格,字符为0x20)。 也可以给出其他响应代码。 在SSH / SFTP中,该行以“ SSH-2.0-”开头。


0
投票

ftp和sftp将使用不同的端口(分别为21和22)。 这应该是“服务器的ip和其他详细信息”的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.