exponenta event banner

ftp

Объект для подключения к FTP-серверу и доступа к его файлам

Описание

Подключение к FTP-серверу путем вызова ftp , которая создает объект FTP. Для доступа к определенной учетной записи FTP на сервере укажите имя пользователя и пароль. Затем используйте FTP-объект для выгрузки и загрузки файлов. Можно также создавать, удалять и переходить к различным папкам на сервере. Чтобы закрыть соединение, используйте close функция.

Примечание

Поскольку FTP не является безопасным протоколом, объект FTP не шифрует имя пользователя, пароль или любые данные, загружаемые с FTP-сервера или загружаемые на него. Если требуется безопасное FTP-соединение, используйте клиент SFTP, предоставленный системой.

Создание

Описание

пример

ftpobj = ftp(host) открывает подключение к FTP-серверу host и сохраняет соединение в объекте FTP ftpobj. Чтобы использовать этот синтаксис, host должен поддерживать анонимные подключения.

ftpobj = ftp(host,username,password) получает доступ к учетной записи FTP с указанными именем пользователя и паролем.

ftpobj = ftp(host,username,password,Name,Value) указывает дополнительные входные аргументы, использующие один или несколько аргументов пары имя-значение. Например, можно указать значение 'System' как 'WINDOWS' для подключения к FTP-серверу под управлением операционной системы Windows ®. Также можно указать значение 'LocalDataConnectionMethod' для перевода режима соединения из пассивного в активный режим.

Входные аргументы

развернуть все

Имя FTP-сервера, указанное как вектор символов или скаляр строки.

Чтобы указать альтернативный номер порта для подключения, добавьте двоеточие (:) и номер порта для host. Номер порта по умолчанию для FTP-серверов - 21.

Как правило, имя сервера начинается с 'ftp', как в 'ftp.example.com'. Однако эта практика является конвенцией, а не техническим требованием. Если имя FTP-сервера начинается с другого префикса, то вы просто указываете host как это название. Не добавлять 'ftp://' в имя для указания протокола FTP.

Пример: ftpobj = ftp('ftp.example.com') открывает анонимное подключение к ftp.example.com.

Пример: ftpobj = ftp('www.example.com') открывает подключение, если сервер www.example.com сконфигурирован для предоставления службы FTP.

Пример: ftpobj = ftp('ftp.example.com:34') открывает соединение с использованием порта № 34.

Имя авторизованной учетной записи на FTP-сервере, указанное как вектор символов или скаляр строки. FTP-объект отправляет username в виде обычного текста.

Пароль для авторизованной учетной записи, указанный как вектор символов или скаляр строки. FTP-объект отправляет password в виде обычного текста.

Пример: ftpobj = ftp('ftp.example.com','nlee','mypassword') открывает подключение для пользователя nlee использование пароля mypassword.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: ftpobj = ftp('ftp.example.com','nlee','mypassword','System','WINDOWS') открывает подключение к FTP-серверу, работающему под управлением операционной системы Windows.

Тип операционной системы, работающей на FTP-сервере, указанный как разделенная запятыми пара, состоящая из 'System' и либо 'UNIX' или 'WINDOWS'.

Режим соединения, указанный как пара, разделенная запятыми, состоящая из 'LocalDataConnectionMethod' и либо 'passive' или 'active'.

Существует два режима установления FTP-соединения.

  • 'active' - Компьютер устанавливает канал для команд, а FTP-сервер устанавливает канал для данных. Активный режим может быть проблемой, если, например, компьютер защищен брандмауэром и не разрешает несанкционированные запросы сеансов из внешних источников.

  • 'passive' - Машина устанавливает оба канала. После установки канала команд компьютер запрашивает, чтобы FTP-сервер начал прослушивание порта, чтобы компьютер мог подключиться к этому порту.

Режим по умолчанию: 'passive' поскольку в большинстве современных реализаций FTP используется пассивный режим. Но для подключения к некоторым устаревшим серверам может потребоваться указать активный режим.

Функции объекта

asciiУстановка режима передачи FTP в ASCII
binaryУстановить режим передачи FTP в двоичный
cdИзменение или просмотр текущей папки на FTP-сервере
closeЗакрыть подключение к FTP-серверу
deleteУдалить файл на FTP-сервере
dirСписок содержимого папки на FTP-сервере
mgetЗагрузка файлов с FTP-сервера
mkdirСоздать новую папку на FTP-сервере
mputОтправить файл или папку на FTP-сервер
renameПереименовать файл на FTP-сервере
rmdirУдалить папку на FTP-сервере

Примеры

свернуть все

Чтобы открыть соединение с FTP-сервером, создайте FTP-объект. Используйте FTP-объект для загрузки файла и перечисления содержимого подпапок на сервере. В конце сеанса FTP закройте соединение.

Сначала подключитесь к FTP-серверу Национальных центров экологической информации (NCEI).

ftpobj = ftp('ftp.ngdc.noaa.gov')
ftpobj = 

  FTP Object
     host: ftp.ngdc.noaa.gov
     user: anonymous
      dir: /
     mode: binary

Список содержимого папки верхнего уровня.

dir(ftpobj)
 
DMSP                         Solid_Earth                  google12c4c939d7b90761.html  mgg                          
INDEX.txt                    coastwatch                   hazards                      pub                          
README.txt                   dmsp4alan                    index.html                   tmp                          
STP                          ftp.html                     international                wdc                          
Snow_Ice                     geomag                       ionosonde                                                 
 

Загрузить README.txt файл с FTP-сервера. mget загружает копию в текущую папку MATLAB ®.

mget(ftpobj,'README.txt');

Прочитайте содержимое копии README.txt с использованием fileread функция. Разбейте текст на строки с помощью splitlines и выведите первые четыре строки.

readme = fileread('README.txt');
readme = splitlines(readme);
readme(1:4)
ans = 4×1 cell array
    {'                 Welcome to the '                                }
    {'    NOAA/National Centers for Environmental Information (NCEI), '}
    {'    formerly the National Geophysical Data Center (NGDC)'        }
    {'                    FTP area'                                    }

Перечисление содержимого подпапки с помощью dir функция.

dir(ftpobj,'STP')
 
ANOMALIES                   NOAA                        Solid_Earth                 publications                
DMSP                        SEIS                        aavso_22nov16               satellite_data              
ECLIPSE                     SGD                         aeronomy                    space-weather               
GEOMAGNETIC_DATA            SOLAR_DATA                  cdroms                      space_environment_modeling  
GOIN                        SPIDR                       goesr                       swpc_products               
GPS_GNSS                    STEP                        ionosonde                   tivoli                      
IONOSPHERE                  SWA                         log.txt                                                 
 

Переход к подпапке с помощью cd функция. Выходные данные cd путь к текущей папке на FTP-сервере, а не к текущей папке MATLAB.

cd(ftpobj,'STP/space-weather')
ans = 
'/STP/space-weather'

Список содержимого текущей папки.

dir(ftpobj)
 
aurora-airglow           documentation            interplanetary-data      online-publications      solar-data               
denig-files              geomagnetic-data         ionospheric-data         satellite-data           spacecraft-environments  
 

Закройте подключение к FTP-серверу. Можно также закрыть соединение, удалив FTP-объект или оставив тайм-аут соединения.

close(ftpobj)

Услуги ФЦП предоставляются Национальными центрами экологической информации (НЦЭИ). Условия предоставления услуг NCEI см. в документах Политика конфиденциальности NCEI, Отказ от ответственности и Авторское право.

Совет

  • Объект FTP не поддерживает параметры прокси-сервера.

  • В то время как нет необходимости указывать 'System',systemKey пара имя-значение, FTP dir может возвращать меньше информации, если FTP-объект не настроен для операционной системы, работающей на FTP-сервере. В таких случаях dir может возвращать структурный массив с некоторыми пустыми полями. В этом случае звоните ftp снова и укажите правильное значение для systemKey.

Алгоритмы

Код для объекта FTP основан на коде из Apache™ Project.

В частности, ftp функция конфигурирует свойства для FTP-соединений в соответствии с параметрами Apache FTPClientConfig класс. Любое настраиваемое свойство FTPClientConfig класс может быть установлен с помощью ftp с соответствующим аргументом пары имя-значение.

Представлен до R2006a