我陷入了一个问题。根据我最新的要求,我必须将文件上传到ftp或sftp服务器。问题是我不知道服务器是ftp还是sftp。在运行时,客户端将提供服务器的ip和其他详细信息,我必须上传文件。所以,在运行时,我必须明白服务器是ftp或sftp,然后需要采取相应措施。那么,这有什么出路吗?文件上传到ftp和sftp
回答
默认情况下,SFTP(SSH文件传输协议)使用端口22。
有些人使用“SFTP”表示FTPS(FTP-over-TLS)。在这种情况下,您有两种选择:显式TLS和隐式TLS。隐式TLS默认使用端口990。在显式模式下,客户端默认连接到端口21,然后通知服务器在现有连接上启动TLS握手。
平原FTP使用端口21
现在,用户可以能够明确指定要使用的协议。
最后,您可以尝试连接,从套接字中获取第一行数据并对其进行分析。在FTP/FTPS第一行应该以220SP开头(SP代表空格,字符代码为0x20)。其他响应代码也可以给出。在SSH/SFTP中,该行以“SSH-2.0-”开头。
ftp中的FTP或SFTP,并且sftp将使用不同的端口(分别为21和22)。这应该是“服务器的ip和其他细节”的一部分。那么,如何从那里获取代码?你能举个例子吗? – Souvik 2013-05-14 06:14:29
@Souvik我不知道我理解你的问题。你想从哪里得到哪些代码? – 2013-05-14 06:15:39
我的客户端只会在运行时为我提供IP(不是端口,如果是FTP,我必须使其为21或22)用户名和密码,但没有关于服务器的信息是ftp或sftp。我必须连接到服务器,并且需要确定服务器是FTP服务器还是SFT服务器。那么,是否有任何可以用java编写的程序来识别它。 – Souvik 2013-05-14 12:21:26
ftp和sftp将使用不同的端口(分别为21和22)。这应该是“服务器的ip和其他细节”的一部分。
我的程序将根据服务器确定端口。那么是否有任何方法来识别服务器 – Souvik 2013-05-14 06:15:30
- 1. 下载并上传没有ftp和sftp的文件
- 2. JSP文件上传。从FTP到SFTP的转换
- 3. 在Opensift 3上持久卷上的文件上传(SFTP,FTP等)
- 4. 上传文件到FTP
- 5. SFTP文件同时上传和下载
- 6. 从内存流上传文件到SFTP
- 7. bash脚本将文件上传到sftp
- 8. 将文件上传到SFTP服务器
- 9. 使用PowerShell将文件上传到SFTP
- 10. SAS上传文件到SFTP站点
- 11. Ftp文件上传
- 12. 使用SFTP上传文件
- 13. 上传文件使用SFTP
- 14. 使用C#上传文件到FTP#
- 15. 空文件上传到FTP服务器
- 16. C++的文件上传到FTP
- 17. 上传文件到FTP服务器
- 18. php cron作业文件上传到ftp
- 19. c#上传文件到FTP服务器
- 20. PHP上传多个文件到FTP
- 21. 上传文件到通过FTP
- 22. 将文件上传到ftp中silverlight
- 23. 将文件上传到FTP目的地
- 24. 将文件上传到ftp时出错
- 25. 文件没有成功上传到FTP
- 26. 从eclipse上传文件到ftp
- 27. ASP.Net文件上传到FTP服务器
- 28. 将张贴的文件上传到FTP
- 29. 用ftp上传文件?
- 30. FTP多文件上传PHP
获取ftp和sftp客户端,尝试以任一方式连接,并查看所发生的事情?这不是火箭科学......如果前门(ftp)被锁定,请回过头去尝试sftp。 – 2013-05-13 18:33:17
在研究这个问题时,一定要确定它是否真的是'sftp',而不是'ftps'或'ftp over ssh'。 – BLuFeNiX 2013-05-13 18:47:58