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 件のコメント

Walter Roberson
Walter Roberson 2021 年 5 月 31 日
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?
Aliaa Abdelnasser Madbouly Afify
Aliaa Abdelnasser Madbouly Afify 2021 年 5 月 31 日
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().
Walter Roberson
Walter Roberson 2021 年 5 月 31 日
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.
Aliaa Abdelnasser Madbouly Afify
Aliaa Abdelnasser Madbouly Afify 2021 年 6 月 2 日
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{:});
Walter Roberson
Walter Roberson 2021 年 6 月 2 日
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')
Aliaa Abdelnasser Madbouly Afify
Aliaa Abdelnasser Madbouly Afify 2021 年 6 月 2 日
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'

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCall Web Services from MATLAB Using HTTP についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by