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'.

Режим Connection в виде разделенной запятой пары, состоящей из '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 закройте связь.

Во-первых, соедините с Национальными Центрами Экологической информации (NCEI) FTP-сервер.

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)

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

Советы

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

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

Алгоритмы

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

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

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