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-сервера. The 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)

Служба FTP предоставлена Национальными центрами экологической информации (NCEI). Смотрите Политику конфиденциальности NCEI, Отказ от ответственности и Авторские права для условий обслуживания NCEI.

Совет

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

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

Алгоритмы

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

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

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