Control psftp (PuTTy) through matlab

My issue is I want to download data from url "http://" through psftp and I have all the command on terminal but I would like to do that through matlab code.
My code is this on terminal:
psftp
psftp> open host.name
psftp> cd path/to/path
psftp> mget ./*.O
so I want to write a code on MatLab to do the same thing.
note that the host.name is http:// website.

6 Comments

Which operating system are you using? That will determine your options.
Are you using psftp instead of https://www.mathworks.com/help/matlab/ref/ftp.html because ftp() does not offer encryption?
I am using Mac OS 11.3.1
My issue here is I am using http instead of ftp, so I can't use ftp().
psftp is a Secure Shell ftp client -- an SFTP client. It cannot be used to communicate using ftp protocol to talk to an http protocol host.
Look at the documentation: https://documentation.help/PuTTY/psftp-cmd-open.html#S6.2.3 . The open command does not support supplying an http: url, only a hostname (or IP), or user@hostname .
If you are able to reach the host from the terminal using psftp then you are communicating with it using ftp or sftp protocol, not http protocol, and that implies that using MATLAB's ftp() might work.
Yes, I miss understood but also I tried to use ftp command on MatLab it didn't worked and I got this error:
>> X = ftp('hostname','username','password');
Error using matlab.io.internal.ftp.FTPHelper/connect (line 22)
Could not open a connection to "hostname", port "21".
Error in matlab.io.internal.ftp.FTPHelper (line 37)
connect(obj);
Error in matlab.io.internal.ftp.FTP (line 79)
h.helper = matlab.io.internal.ftp.FTPHelper(host, username, password, ...
Error in ftp (line 17)
h = matlab.io.internal.ftp.FTP(host, varargin{:});
To check: did you put the actual hostname (or IP address) into the ftp command, in place of where you wrote 'hostname' ?
Also, the psftp sequence you showed does not set a username or password, so you are possibly using anonymous ftp, in which case you would not supply the username or password. Possibly just something like
X = ftp('speedtest.tele2.net')
yes, It's just the hostname and it look like the command you wrote but there are username and password for that hostname, I forgot to mention that psftp asked me for the username and the password. Also when I opend the hostname on chrome for example I don't have to enter them.
so I run
X = ftp('speedtest.tele2.net')
and there was no error only with the hostname I am using 'epop-data.phys.ucalgary.ca'

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!