Глобальные сети компьютеров. Практическое введение в Internet, E-Mail, FTP, WWW и HTML, программирование для Windows Sockets© Александр Фролов, Григорий ФроловТом 23, М.: Диалог-МИФИ, 1993, 283 стр. 3.2. Программы для работы с протоколом FTPПервое, что вы можете попробовать, подключившись к сети Internet, это воспользоваться программой FTP для того чтобы загрузить из Internet на диск своего компьютера другие приложения, специально ориентированные на работу с серверами FTP, WWW , а также предназначенные для работы с электронной почтой и конференциями. Программа FTP есть в составе операционных систем Microsoft Windows 95 (при добавлении расширения Microsoft Plus) и Microsoft Windows NT, поэтому как только вы установите соединение с Internet, то сможете сразу ей воспользоваться. Параметры программы FTPЗапуская программу FTP в среде
указанных выше операционных систем, вы можете
при необходимости задать параметры,
перечисленные ниже:
Обычно в качестве параметра при запуске программы FTP указывают имя или адрес удаленного сервера FTP, с которым собираются соединиться для передачи файлов: c:\>ftp ftp.microsoft.com В данном случае предпринимается попытка подключения к серверу FTP корпорации Microsoft. Команды программы FTPПосле запуска программы FTP вы увидите командное приглашение: ftp> В этом командном приглашении вы можете вводить
команды из приведенного ниже списка:
Не все команды из этого длинного списка вам будет нужно использовать. Подключение к серверу FTPДля подключения к удаленному серверу FTP введите команду open, указав ей в качестве параметра имя сервера или его адрес IP. В ответ на эту команду удаленный серевер предложит вам ввести имя пользователя и пароль. Как правило, вы всегда должны указывать имя anonymous и свой электронный почтовый адрес в качестве пароля. В любой момент времени после установки соединения с сервером FTP вы можете ввести имя пользователя при помощи команды user. Отключение от сервера FTPЕсли сервер FTP вам больше не нужен, закройте соединение с ним командой close. Просмотр содержимого каталогов сервераДля просмотра содержимого текущего каталога, расположенного на диске удаленного компьютера, воспользуйтесь командами dir или ls. Перемещаться по дереву каталогов удаленного узла вы сможете при помощи команды cd. Установка режима передачи файловПеред началом передачи файлов необходимо установить текстовый или двоичный режим передачи данных, пользуясь командами ascii или binary, не имеющих параметров. Если вы ошибетесь и попытаетесь передать двоичные данные в текстовом режиме, содержимое файла будет искажено. Передача текстовых данных в двоичном режиме также ни к чему хорошему не приведет. Как определить тип данных, хранящихся в файле? Можно попытаться использовать для этого расширение имени файла или имя файла. Например, файл readme.txt скорее всего текстовый, в то время как файл virus.exe, очевидно, двоичный, так как представляет собой программу. К сожалению, трудно дать какие-либо более конкретные рекомендации по определению типа данных. Скажем только, что обычно в каждом каталоге хорошо организованного сервера FTP находится описание содержимого в виде текстового файла с характерным именем (readme.txt, index00.txt и так далее). Получение файловОсновная команда, которой вы будете пользоваться для переписывания файлов с дисков удаленного узла на диски локального компьютера, это команда get. В качестве параметра ей необходимо указать имя нужного вам файла. Если вам нужно одновременно получить все или несколько файлов из текущего каталога удаленного узла, воспользуйтесь командой mget, указав ей в качестве параметра шаблон имени файла (аналогичный тому, что используется в MS-DOS). Прочие командыЕсли вы забыли команды программы FTP , воспользуйтесь командой help. Указав ей в качестве параметра имя любой команды, вы сможете посмотреть ее краткое описание. При вводе команды без параметров отображается полный список команд. Аналогичные действия выполняются по команде ?. Командой bye вы можете воспользоваться для завершения работы программы FTP . Что же касается команд пересылки файлов с локального компьютера на диски удаленного узла, создания каталогов, стирания и переименования файлов, а также каталогов на удаленном компьютере, то они обычно вам недоступны. Администратор никогда не разрешит любому пользователю выполнять подобные операции на своем сервере FTP . Программа FTP для IBM OS/2 Warp ConnectЕсли вы работаете в среде операционной системы IBM OS/2 Warp Connect, вы тоже можете работать с программой FTP , запустив ее из папки TCP/IP Utilities. После запуска на экране появляется окно программы FTP и вы можете вводить в нем только что описанные команды (рис. 3.7).
Рис. 3.7. Программа FTP для IBM OS/2 Warp Connect Приложение WS_FTP для Microsoft WindowsПрограмма WS_FTP представляет собой шаг (или несколько шагов?) вперед по сравнению с только что описанной программой FTP, так как она обеспечивает существенно более удобный способ работы с серверами FTP. Еще один способ работы с серверами FTP основан на использовании приложений-навигаторов WWW , о которых мы расскажем в этой главе немного позже. Общее представление об использовании программы WS_FTP вы получили из первой главы нашей книги. Здесь мы дадим конкретные рекомендации по получению этой программы из сети Internet, по ее установке, настройке и использованию. Получение программы WS_FTPПрежде всего вам необходимо переписать к себе на диск программу WS_FTP с одного из серверов, указанных в документации к программе: ftp.coast.net/SimTel/win3/winsock/ws_ftp.zip ftp.coast.net/SimTel/win3/winsock/ws_ftp32.zip winftp.cica.indiana.edu/pub/pc/win3/winsock/ws_ftp.zip winftp.cica.indiana.edu/pub/pc/win3/winsock/ws_ftp32.zip ftp.usma.edu/pub/msdos/winsock.files/ws_ftp.zip ftp.usma.edu/pub/msdos/winsock.files/ws_ftp32.zip ftp.csra.net/pub/win32 ftp> Мы воспользуемся сервером ftp.csra.net. Итак, запустите программу FTP и подсоединитесь к указанному серверу: ftp> open ftp.csra.net Connected to news2.csra.net. 220 news2 Windows NT FTP Server (Version 3.5). User (news2.csra.net:(none)): anonymous 331 Anonymous access allowed, send identity (e-mail name) as password. Password:frolov@glas.apc.org 230 Anonymous user logged in as ftpuser (guest access). ftp> В качестве имени используйте anonymous, а для пароля используйте свой полный почтовый адрес. Затем перейдите в каталог pub и посмотрите, какие файлы и каталоги в нем имеются: ftp> cd pub 250 CWD command successful. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. dr-xr-xr-x 1 owner group 0 Mar 1 22:01 msdos dr-xr-xr-x 1 owner group 0 Mar 1 22:00 win3 dr-xr-xr-x 1 owner group 0 Mar 2 7:21 win32 226 Transfer complete. 197 bytes received in 0.05 seconds (3.94 Kbytes/sec) ftp> Нас интересуют версии программы WS_FTP для операционных систем Microsoft Windows 95 и Microsoft Windows NT, поэтому перейдите в каталог win32 и просмотрите его содержимое: ftp> cd win32 250 CWD command successful. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. -r-xr-xr-x 1 owner group 11906 Mar 1 21:59 watch95.txt -r-xr-xr-x 1 owner group 308610 Mar 1 20:09 watch95.zip -r-xr-xr-x 1 owner group 8631 Mar 1 21:57 ws_ftp32.txt -r-xr-xr-x 1 owner group 197468 Mar 2 7:21 ws_ftp32.zip -r-xr-xr-x 1 owner group 11851 Mar 1 21:57 ws_watch.txt -r-xr-xr-x 1 owner group 307757 Mar 1 20:10 ws_watch.zip -r-xr-xr-x 1 owner group 9006 Mar 1 21:57 wsftp32a.txt -r-xr-xr-x 1 owner group 201386 Mar 1 20:39 wsftp32a.zip -r-xr-xr-x 1 owner group 4633 Mar 1 21:58 wsping32.txt -r-xr-xr-x 1 owner group 57314 Mar 1 20:10 wsping32.zip 226 Transfer complete. 728 bytes received in 0.22 seconds (3.31 Kbytes/sec) ftp> Теперь мы займемся получением текстовых и двоичных файлов, расположенных в этом каталоге. Сначала давайте получим все текстовые файлы, воспользовавашись для этого командой mget: ftp> mget *.txt mget watch95.txt? y 200 PORT command successful. 150 Opening ASCII mode data connection for watch95.txt. mget wsftp32a.txt? y 200 PORT command successful. 150 Opening ASCII mode data connection for wsftp32a.txt. 226 Transfer complete. 9006 bytes received in 8.29 seconds (1.09 Kbytes/sec) mget wsping32.txt? y 200 PORT command successful. 150 Opening ASCII mode data connection for wsping32.txt. 226 Transfer complete. 4633 bytes received in 6.59 seconds (0.70 Kbytes/sec) mget ws_ftp32.txt? y 200 PORT command successful. 150 Opening ASCII mode data connection for ws_ftp32.txt. 226 Transfer complete. 8631 bytes received in 8.24 seconds (1.05 Kbytes/sec) ftp> Перед тем как выполнить пересылку файла, команда mget запрашивает подтверждение, на которое вы должны ответить вводом символа y. Если вы запустили программу FTP в среде Microsoft Windows 95, то все принятые файлы по умолчанию будут записаны в тот каталог, где установлена эта операционная система. Для передачи файлов программных архивов переключитесь в двоичный режим пересылки файлов: ftp> binary 200 Type set to I. ftp> Теперь можно выполнять пересылку: ftp> mget *.zip mget watch95.zip? y 200 PORT command successful. 150 Opening BINARY mode data connection for watch95.zip. 226 Transfer complete. 308610 bytes received in 155.99 seconds (1.98 Kbytes/sec) mget wsftp32a.zip? y 200 PORT command successful. 150 Opening BINARY mode data connection for wsftp32a.zip. 226 Transfer complete. 201386 bytes received in 160.93 seconds (1.25 Kbytes/sec) mget wsping32.zip? y 200 PORT command successful. 150 Opening BINARY mode data connection for wsping32.zip. 226 Transfer complete. 57314 bytes received in 87.11 seconds (0.66 Kbytes/sec) mget ws_ftp32.zip? y 200 PORT command successful. 150 Opening BINARY mode data connection for ws_ftp32.zip. 226 Transfer complete. 197468 bytes received in 150.26 seconds (1.23 Kbytes/sec) Выполнив пересылку, отключитесь от сервера FTP и завершите работу программы FTP про помощи команды bye. Установка и запуск программы WS_FTPПолучив все необходимые файлы архивов, прочтите их описание, которое должно находиться в текстовых файлах. Затем создайте на своем диске каталог, например с именем WS_FTP , и скопируйте в него все файлы из архива wsftp32a.zip (это самая последняя бета-версия программы FTP_32 на момент написания данной книги). Затем создайте на поверхности рабочего стола или в любой выбранной вами папке теневую пиктограмму, соответствующую файлу ws_ftp32a.exe. Для запуска соединитесь с сервером поставщика услуг Internet и сделайте двойной щелчок левой клавишей мыши по созданной пиктограмме. Вы увидите главное окно программы WS_FTP (рис. 3.8).
Рис. 3.8. Главное окно программы WS_FTP Сразу после запуска на переднем плане появится диалоговая панель Session Profile, с помощью которой можно выбрать сервер FTP для подключения. В дальнейшем вы будете вызывать на экран эту диалоговую панель, нажимая кнопку Connect, расположенную в левом нижнем углу главного окна программы WS_FTP. Настройка параметров программы WS_FTPДля настройки программы WS_FTP необходимо закрыть диалоговую панель Session Profile (если она открыта), нажав на ней кнопку Cancel, и затем нажать кнопку Options в главном окне приложения. После этого на окне появится диалоговая панель Options, показанная на рис. 3.9.
Рис. 3.9. Диалоговая панель Options, предназначенная для настройки параметров программы WS_FTP В этой диалоговой панели нажмите кнопку Program Option, после чего вы увидите одноименную диалоговую панель, позволяющую настроить наиболее важные параметры приложения (рис. 3.10).
Рис. 3.10. Диалоговая панель Program Option Воспользовавшись группой переключателей Listbox Font, вы можете выбрать шрифт, которым отображаются имена файлов и каталогов в окне приложения. Выберите тот шрифт, который вам больше нравится. С помощью переключателя Alternate Screen Layout вы можете изменить расположение окон, отображающих содержимое каталогов локального и удаленного узла. Если этот переключатель включен, содержимое каталогов локального узла отображается в верхней части окна приложения, а содержимое каталогов удаленного узла - в нижней. Такое альтернативное расположение окон удобнее в том отношении, что для имен файлов в окнах остается больше места. Это имеет значение, если вы работаете с длинными именами файлов. Включив переключатель Show Buttons at Top of Screen вы можете изменить расположение управляющих кнопок, переместив их в верхнюю часть экрана. В поле Text Viewer вы можете указать имя программы, которая будет использована для просмотра содержимого текстовых файлов. По умолчанию используется приложение Notepad. Так как для подключения к серверам FTP вы должны указывать пароль, в поле E-Mail Address следует занести свой электронный почтовый адрес. С помощью группы переключателей Double Click вы можете изменить действие, выполняемое после того как пользователь сделает двойной щелчок по имени файла в окне просмотра. По умолчанию файл будет передаваться, так как включен переключатель Transfer. Включив переключатель View вы можете заменить передачу файла просмотром. А если включить переключатель Nothing, на двойной щелчок со стороны приложения не будет никакой реакции. Описание остальных органов управления, расположенных в этой диалоговой панели, вы найдете в справочной системе приложения, для чего следует нажать кнопку Help. Нажав в диалоговой панели Options (рис. 3.9) кнопку Session Options, вы можете настроить параметры, которые будут использоваться по умолчанию при соединении с серверами FTP . Соответствующая диалоговая панель показана на рис. 3.11.
Рис. 3.11. Диалоговая панель Session Options В поле Host Type можно указать тип операционной системы, работающей на удаленном узле (если вы его знаете). По умолчанию выполняется автоматическое определение, которое работает практически во всех случаях. Обратите внимание на группу переключателей Transfer Mode, определяющую режим передачи файлов. По умолчанию файлы передаются в двоичном режиме (включен переключатель Binary). Вы также можете включить текстовый режим (ASCII) или режим L8, предназанченный для передачи двоичных файлов из узлов, работающих под управлением операционной системы VMS . Еслив диалоговой панели Options (рис. 3.9) нажать кнопку ASCII Extensions, на экране появится диалоговая панель Auto Detect Extensions (рис. 3.12).
Рис. 3.12. Диалоговая панель Auto Detect Extensions В этой диалоговой панели вы можете отредактировать список расширений имен файлов, которые приложение WS_FTP передает в текстовом режиме. Для того чтобы добавить новое расширение в этот список, его следует ввести в поле ASCII Mode, а затем нажать кнопку Add. Для удаления расширения из списка его нужно выделить и нажать кнопку Delete. Программа WS_FTP способна автоматически изменять расширение имен файлов при передаче. Для редактирования списка соответствия расширений вы должны нажать в диалоговой панели Options кнопку Extensions Conversions. При этом на экране появится диалоговая панель Convert Extensions, показанная на рис. 3.13. По умолчанию список соответствия пуст.
Рис. 3.13. Диалоговая панель Convert Extensions Нажав в диалоговой панели Options кнопку File Associations, вы можете в диалоговой панели Associate (рис. 3.14) указать связь между расширением имени файла и приложением, которое должно обрабатывать этот файл при его запуске кнопкой Exec.
Рис. 3.14. Диалоговая панель Associate Кнопки в главном окне приложения WS_FTPНиже мы приведем список кнопок, расположенных в
главном окне приложения WS_FTP вместе с кратким
описанием их назначения.
Расширение списка серверов FTPДля того чтобы добавить новый сервер FTP в список Profile Name, расположеный в диалоговой панели Session Profile (рис. 3.8), вы должны нажать кнопку New, которая находится в указанной диалоговой панели. Далее вы должны заполнить поля диалоговой панели так, как это сделано для других серверов FTP , имеющихся в списке. В поле Host Name следует указать доменное имя сервера или его адрес IP в виде четырех десятичных чисел, разделенных точками. Далее вам нужно включить переключатлеь Anonymous Login. При этом поля User ID (идентификатор пользователя) и Password (пароль) будут заполнены автоматически. При необходимости вы можете изменить содержимое указанных полей. В группе органов управления Initial Directories можно задать пути к локальному и удаленному каталогу, которые будут текущими после установки соединения. Сделав все изменения, нажмите кнопку Save. Список Profile Name будет дополнен. Приложение FTP -PM для IBM OS/2 Warp ConnectВ составе пакета IBM Internet Connection входит приложение FTP -PM, которое предназначено для обмена файлами с серверами FTP. И хотя это приложение не такое многофункциональное, как только что описанное приложение WS_FTP, оно также достаточно удобно в работе. Для запуска приложения сделайте двойной щелчок левой клавишей мыши по пиктограмме FTP -PM, расположенной в папке Internet Utilities (рис. 2.64). Если вы уже установили соединение с Internet, то через некоторое время на экране появится главное окно приложения FTP-PM, показанное на рис. 3.15.
Рис. 3.15. Главное окно прилжоения FTP -PM после подключения к серверу GlasNet с адресом ftp.glas.apc.org Для подключения к удаленному серверу FTP вы должны выбрать строку Open Remote Host из меню File. В появившейся на экране диалоговой панели FTP-PM - Open Remote Host (рис. 3.16) следует указать адрес удаленного сервера, имя пользователя и пароль.
Рис. 3.16. Диалоговая панель FTP -PM - Open Remote Host В качестве имени пользователя следует указать anonymous, а в качестве пароля - свой электронный почтовый адрес. После подключения в нижней части окна приложения FTP -PM появится содержимое каталогов удаленного узла. Передвигаться по дереву каталогов можно с помощью мыши, делая двойной щелчок по имени каталога или строке "..". В последнем случае будет выполнен переход в каталог более высокого уровня. Перед тем как копировать файлы, вы должны указать режим передачи данных - текстовый или двоичный. Для этого выберите из меню Options строку Transfer mode. Далее в меню второго уровня выберите строку ASCII для текстового режима и Binary для двоичного. Затем в том окне, где отображаются каталоги и файлы удаленного сервера, выделите нужный вам файл и выберите из главного меню строку QuickTrans. На экране появится диалоговая панель FTP -PM - Get Remote Files, на которой будет показано имя выбранного вами файла и другая информация. В этой диалоговой панели вы должны нажать кнопку YES, после чего начнется процесс передачи данных. Вы сможете наблюдать за этим процессом с помощью диалоговой панели FTP-PM - Transfer Progress, в которой будет отображаться объем переданных данных. |