A REST API has a method for reading from a .csv
file that exists on a URL and claims that this URL can either be a public address or an FTP server.
I have already succeeded at uploading the file to an FTPs server, but that is not my question here. What I want to know is that if my file is already uploaded to an FTPs server with the following properties
Host: 111.222.333.444
Port: XX
Username: myUserName
Password: myPassword
Working directory: /home/myFolder
File name: myFile.csv
how will the URL look like?
The URL that the API accepts is of course a string value. I have read in this page that if I write the value as
ftp://YourFtpUser%40YourDomain.com:[email protected]
It will work. But replacing my values in this address is not getting me anywhere. How will I know what format to use?
Update: Log file using WinSCP. I replaced the real identity values.
. 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: HKCU\Software\Martin Prikryl\WinSCP 2\
. 2015-11-27 14:09:17.665 Log level: Normal
. 2015-11-27 14:09:17.665 Local account: ACTIONBASE\pedram.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:[email protected]: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: [email protected] (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.
We do not know your REST API, so we cannot know the format it supports.
Anyway, assuming the API follows standards (RFC 1738) the URL format would be:
ftp://myUserName:[email protected]:XX/home/myFolder/myFile.csv
As far as I know, there's no standard for the FTPS. Though the ftps://
is commonly used for an FTP over implicit TLS/SSL connection. Few clients do support the ftpes://
for an explicit TLS/SSL.
You can omit the :XX
, if the port number is 21 (or 990 for the implicit TLS/SSL).
Regarding your attempt with WinSCP:
ftp://
, not the ftps://
, so obviously a non-encrypted FTP connection is tried.