Доступ к ресурсам архивов FTP

Доступ через электронную почту к другим ресурсам сети основан на использовании программ-шлюзов. Для этого среди почтовых пользователей заводят таких, для которых в файле aliases задают обработку почтовых сообщений. Прежде чем рассмотреть этот способ посмотрим как выглядит такой способ для доступа к файловым архивам и сервису Archie.
Файловые архивы -- это библиотеки, содержащие различную информацию -- от программ до картинок, музыки, фильмов и просто текстовых файлов. Доступ к этим архивам осуществляется специальной программой FTP (File Transfer Programm), которая обращается к специальному серверу, управляющему файловым архивом на удаленной машине. Из названия программы уже понятно, что вся информация хранится в виде файлов, которые организованы в директории. Вообще говоря, FTP-архив -- это часть файловой системы, которая доступна для удаленного пользователя FTP-сервера. Важным свойством многих FTP-архивов является возможность так называемого анонимного доступа.
Рассмотрим доступ к FTP-архиву на примере робота decwrl.dec.com.
Для того, чтобы получить доступ к архиву следует отправить сообщение по адресу:

mail ftpmail@decwr1.dec.com

Поле Subject можно оставить пустым, а в теле сообщения следует ввести команды. Для доступа к архиву oak.oakland.edu и получения его оглавления следует отправить следующее сообщение:

mail ftpmail@decwr1.dec.com
Subject:
connect oak.oakland.edu anonymous user@domail.net Is
quit

По команде connect робот попытается установить анонимное соединение с РТР-сервером oak.oakland.edu. В качестве пароля (четвертый аргумент команды connect) следует указать свой почтовый адрес. По команде Is будет получен список файлов корневой директории сервера, а по команде quit робот прервет работу с сервером и вернет результаты пользователю. Важным моментом, ради которого собственно и осуществляется доступ к FTP-серверу, является запрос на передачу файлов. Предавать можно как текстовые, так и двоичные файлы. Для управления типом запрашиваемого файла существует две команды -- ascii и binary. Для того, чтобы получить ASCII-файл, следует послать сообщение типа:

mail ftpmail@decwr1.dec.com
Subject:
connect oak.oakland.edu anonymous user@domail.net
ascii
get README
quit

Команда get позволяет заказать файл README. Для получения двоичного файла следует послать сообщение типа:

mail ftpmail@decwr1.dec.com
Subject:
connect oak.oakland.edu anonymous user@domail.net
cd windows/mosaic
binary
get mosaic.zip
quit

В приведенном выше примере используется команда cd, которая позволяет переходить по дереву файловой системы от одной директории к другой. При запросе двоичных файлов надо быть уверенным в том, что почтовая программа способна извдечь данные из почтового сообщения (пакет BML позволяет это сделать), или иметь на машине программу uudecode. В случае приема закодированного двоичного файла в тексте сообщения должен быть блок типа:

begin -600 kuku.zip
&4$Х53'Н*
'
end

Этот блок следует выделить в отдельный файл и обработать программой uudecode.
Пользователи BITNET имеют роботов, которые позволяют использовать более широкие возможности FTP-сервиса. Одним из таких роботов является робот bitftp@pucc.princeton.edu. Этот робот позволяет пользоваться всем набором команд FTP. В течении одной сессии можно открывать и закрывать FTP-соединения с разными ftp серверами, заказывать кодировку двоичных файлов, отличную от uuencode, получать подсказку о своем месте в файловой системы сервера и т.п. В принципе, робот bitftp@pucc.princenton.edu доступен не только пользователям BITNET, но администраторы робота не рекомендуют пользователям других сетей пользоваться данным роботом. Однако для другого робота - BITFTP@vm.gmd.de, таких оговорок нет. Важным достоинством BITNET-роботов является возможность получения списка FTP-архивов. И последнее замечание по поводу доступа к FTP no e-mail: если в теле сообщения указать только слово «help», то робот расскажет о своих возможностях. Ниже приведен пример ответа ftpmail.

From ftpmail@doc.ic.ac.uk Thu Mar 16 02:03 ЕБТ 1995
Received: from puffin.doc.ic.ac.uk by
apollo.polyn.kiae.su with SMTP
(1.38.193.4/16.2) id AA02419; Thu, 16 Mar 1995
02:02:56 +0200
Return-Path: <ftpmail@doc.ic. ac. uk>
Received: from doc.ic.ac.uk by puffin.doc.ic.ac.uk
id <14782-0@puffin.doc.ic.ac.uk>; Wed,
15 Mar 1995 19:22:26 +0000
To: paul@apollo.polyn.kiae.su
Subject: <FTP EMAIL> response
Date: Wed, 15 Mar 1995 19:22:26 +0000
From: Email-FTP Gateway Account
<ftpmail@doc.ic.ac. uk>
Message-Id:
<"puffin.doc.790:15.02.95.19.22.34"@doc.ic.ac.uk>
Status: RO
<FTP EMAIL> response
ftpmail has received the following job from you: reply-to paul@apollo.polyn.kiae.su open oak.oakland.edu anonymous paul@apollo.polyn.kiae.su
Is
cd pub
get README
ftpmail has queued your job as: 995331.14774 Your priority is 9 (0 = highest, 9 = lowest) Requests to src.doc.ic.ac.uk will be done before other jobs.
There are 2057 jobs ahead of this one in the queue.
5 ftpmail handlers available.
To remove send a message to ftpmail@src.doc.ic.ac.uk containing just: delete 995331.14774 Your original input was» >Return-Path: <paul@apollo.polyn.kiae.su> >Received: from doc.ic.ac.uk by puffin.doc.ic.ac.uk with SMTP (PP)
> id <13192-1§puffin.doc.ic.ac.uk>; Wed, 15 Mar 1995 18:52:46 +0000
>Received: from apollo.polyn.kiae.su by frigate.doc.ic.ac.uk with SMTP (PP)
> id <23071-0@frigate.doc.ic.ac.uk>; Wed, 15 Mar 1995 18:42:06 +0000
>Received: by apollo.polyn.kiae.su (1.38.193.4/16.2) id AA02362;
> Wed, 15 Mar 1995 21:42:40 +0200 >From: Pavel Khramtsov <paul@apollo.polyn.kiae.su>
>Subject:
>To: ftpmail@doc.ic.ac.uk >Date: Wed, 15 Mar 95 21:42:40 EET >Mailer: Elm [revision: 70.85] >Message-ID:
<"frigate.do.244:15.02.95.18.52.41"@doc.ic.ac.uk> >
>connect oak.oakland.edu anonymous paul@apollo.polyn.kiae.su >ls
>cd pub >get README >quit >
«End of your input

Сервер уведомил о получении запроса на передачу файла «README».