我的FTP服务器的URL,作为REST方法参数



REST API有一种从URL上存在的.csv文件读取的方法,并声称此URL可以是公共地址或FTP服务器。

我已经成功地将文件上传到FTP服务器,但这不是我的问题。我想知道的是,如果我的文件已经上传到具有以下属性的FTP服务器

Host: 111.222.333.444
Port: XX
Username: myUserName
Password: myPassword
Working directory: /home/myFolder
File name: myFile.csv

URL会是什么样子?

API接受的URL当然是一个字符串值。我在这个页面上读到,如果我把值写为

ftp://YourFtpUser%40YourDomain.com:YourFtpUserPassword@yourdomain.com

它会起作用的。但是,在这个地址中替换我的价值观并不能让我取得任何进展。我如何知道要使用什么格式?

更新:使用WinSCP的日志文件。我取代了真正的身份价值观。

. 2015-11-27 14:09:17.664 --------------------------------------------------------------------------
. 2015-11-27 14:09:17.664 WinSCP Version 5.7.6 (Build 5874) (OS 6.1.7601 Service Pack 1 - Windows 7 Enterprise)
. 2015-11-27 14:09:17.664 Configuration: HKCUSoftwareMartin PrikrylWinSCP 2
. 2015-11-27 14:09:17.665 Log level: Normal
. 2015-11-27 14:09:17.665 Local account: ACTIONBASEpedram.mobedi
. 2015-11-27 14:09:17.665 Working directory: C:Program Files (x86)WinSCP
. 2015-11-27 14:09:17.665 Process ID: 15780
. 2015-11-27 14:09:17.665 Command-line: winscp.exe  "ftp://myUserName:myPassword@111.222.333.444:22/" /log=C:mylog.log
. 2015-11-27 14:09:17.665 Time zone: Current: GMT+1, Standard: GMT+1 (W. Europe Standard Time), DST: GMT+2 (W. Europe Daylight Time), DST Start: 2015-03-29, DST End: 2015-10-25
. 2015-11-27 14:09:17.665 Login time: den 27 november 2015 14:09:17
. 2015-11-27 14:09:17.665 --------------------------------------------------------------------------
. 2015-11-27 14:09:17.665 Session name: myUsername@111.222.333.444 (Ad-Hoc site)
. 2015-11-27 14:09:17.665 Host name: 111.222.333.444 (Port: 22)
. 2015-11-27 14:09:17.665 User name: myUsername (Password: Yes, Key file: No)
. 2015-11-27 14:09:17.665 Transfer Protocol: FTP
. 2015-11-27 14:09:17.665 Ping type: C, Ping interval: 30 sec; Timeout: 15 sec
. 2015-11-27 14:09:17.665 Disable Nagle: No
. 2015-11-27 14:09:17.665 Proxy: none
. 2015-11-27 14:09:17.665 Send buffer: 262144
. 2015-11-27 14:09:17.665 UTF: 2
. 2015-11-27 14:09:17.665 FTP: FTPS: None; Passive: Yes [Force IP: A]; MLSD: A [List all: A]
. 2015-11-27 14:09:17.665 Local directory: default, Remote directory: /home/myUsername/pedramtest/, Update: Yes, Cache: Yes
. 2015-11-27 14:09:17.665 Cache directory changes: Yes, Permanent: Yes
. 2015-11-27 14:09:17.665 Timezone offset: 0h 0m
. 2015-11-27 14:09:17.665 --------------------------------------------------------------------------
. 2015-11-27 14:09:17.734 Connecting to 111.222.333.444:22 ...
. 2015-11-27 14:09:17.734 Connected with 111.222.333.444:22. Waiting for welcome message...
< 2015-11-27 14:09:17.734 SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2
. 2015-11-27 14:09:32.870 Timeout detected. (control connection)
. 2015-11-27 14:09:32.870 Connection failed.
* 2015-11-27 14:09:32.901 (EFatal) Connection failed.
* 2015-11-27 14:09:32.901 Timeout detected. (control connection)
* 2015-11-27 14:09:32.901 Connection failed.

我们不知道您的REST API,因此我们无法知道它支持的格式。


无论如何,假设API遵循标准(RFC1738),URL格式将是:

ftp://myUserName:myPassword@111.222.333.444:XX/home/myFolder/myFile.csv

据我所知,FTPS没有标准。尽管ftps://通常用于隐式TLS/SSL连接上的FTP。很少有客户端支持ftpes://用于显式TLS/SSL。

如果端口号为21(对于隐式TLS/SSL为990),则可以省略:XX


关于您使用WinSCP的尝试:

  1. 您使用的是ftp://,而不是ftps://,因此显然尝试了非加密的FTP连接
  2. 无论如何,服务器既不是FTP也不是FTPS,而是SFTP(SSH)。你可以通过";SSH-2.0-打开SSH_6.0p1 Debian-4+deb7u2";横幅而不是FTP欢迎信息。SFTP是与FTPS完全不同的协议
    参见SFTP和";FTP over SSH";或
    是";SFTP";以及";SSL上的FTP";同样的东西

最新更新