Практическое руководство. Скачивание файлов с использованием FTP
В этом примере показано, как скачать файл с FTP-сервера.
Эта статья относится только к проектам, предназначенным для платформы .NET Framework. Для проектов, предназначенных для .NET 6 и более поздних версий, см. статью Протокол FTP больше не поддерживается.
Пример
using System; using System.IO; using System.Net; namespace Examples.System.Net < public class WebRequestGetExample < public static void Main () < // Get the object used to communicate with the server. FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm"); request.Method = WebRequestMethods.Ftp.DownloadFile; // This example assumes the FTP site uses anonymous logon. request.Credentials = new NetworkCredential("anonymous","janeDoe@contoso.com"); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream); Console.WriteLine(reader.ReadToEnd()); Console.WriteLine($"Download Complete, status "); reader.Close(); response.Close(); > > >
Imports System.IO Imports System.Net Namespace Examples.System.Net Public Module WebRequestGetExample Public Sub Main() ' Get the object used to communicate with the server. Dim request As FtpWebRequest = CType(WebRequest.Create("ftp://www.contoso.com/test.htm"), FtpWebRequest) request.Method = WebRequestMethods.Ftp.DownloadFile ' This example assumes the FTP site uses anonymous logon. request.Credentials = New NetworkCredential("anonymous", "janeDoe@contoso.com") Dim response As FtpWebResponse = CType(request.GetResponse(), FtpWebResponse) Dim responseStream As Stream = response.GetResponseStream() Dim reader As StreamReader = New StreamReader(responseStream) Console.WriteLine(reader.ReadToEnd()) Console.WriteLine($"Download Complete, status ") reader.Close() response.Close() End Sub End Module End Namespace
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Как скачивать файлы с FTP из командной строки Windows
Протокол FTP является одним из распространенных сетевых протоколов, используемых пользователями сети Интернет. Подавляющее количество людей используют, для выкачивания чего-либо с FTP-серверов, различные клиенты FTP. Но не многие знают, что в Windows доступна возможность подключения к FTP-серверам из командной строки.
Из этого совета вы узнаете о том, как скачивать файлы с FTP-серверов при помощи простых DOS-команд.
Для того, чтобы скачать файл с FTP из командной строки Windows, выполним несколько простых действий:
- Откройте командную строку Windows, нажав на Пуск — Выполнить, набрав cmd и нажав на Enter.
- Выполните следующую команду:
при помощи этой команды, мы подключимся к ftp-серверу компании Microsoft. - Вводим имя пользователя anonymous. Сервер этой известной компании позволяет подключаться анонимным пользователям:

- В качестве пароля вводим e-mail (можно ввести несуществующий):

- Поздравляю с успешным входом!

- Для того, чтобы посмотреть, какие файлы и каталоги доступны на ftp-сервере, вводим команду dir :

- В результате — получаем список файлов и каталогов, расположенных на ftp-сервере:

- Для того, чтобы перейти в необходимый каталог, воспользуемся командой cd :

- Сообщение «250 CWD command successeful» скажет о том, что мы успешно перешли в нужный нам каталог:

- Для того, чтобы скачать нужный нам файл, введем команду get и имя загружаемого файла:

- После успешного получения файла, система оповестит нас:

- Для того, чтобы покинуть ftp-сервер и отключиться от него, выполните команду bye :

Возможно, многие скажут, что гораздо удобнее скачивать файлы при помощи многофункциональных менеджеров загрузки или ftp-клиентов.. Но при необходимости (или в качестве альтернативы), вы можете использовать простые DOS-команды, которые позволят вам скачать файлы с ftp без дополнительных затрат.
Как загрузить файл с FTP сервера к себе на ПК
Я столкнулся с такой проблемой, что не получается реализовать загрузку файла с FTP сервера на свой ПК через java. Я использую библиотеку commons-net для FTPClient. Итак, я имею такой код:
public static void main(String[] args) throws Exception < FTPClient client = new FTPClient(); FileInputStream fis = null; try < client.connect(server); client.login(user, password); client.enterRemotePassiveMode(); client.setFileType(FTPClient.BINARY_FILE_TYPE); // // Create an InputStream of the file to be uploaded // String filename = "majesticSoft.png"; // // Store file to server // FileOutputStream fileOutputStream = new FileOutputStream("C:\\Users\\User\\IdeaProjects\\" + filename); boolean isDownloaded = client.retrieveFile("/resources/" + filename, fileOutputStream); if(!isDownloaded) < throw new Exception(client.getReplyString()); >fileOutputStream.flush(); fileOutputStream.close(); client.logout(); client.disconnect(); client.logout(); > catch (IOException e) < e.printStackTrace(); >finally < try < if (fis != null) < fis.close(); >client.disconnect(); > catch (IOException e) < e.printStackTrace(); >>
Но при запуске кода получаю ошибку:
Exception in thread "main" java.lang.Exception: 200 TYPE is now 8-bit binary
Что не так, я не понимаю. Прошу помочь и объяснить ошибку. Заранее спасибо
Отслеживать
8,390 4 4 золотых знака 25 25 серебряных знаков 64 64 бронзовых знака
Загрузка файлов по FTP, SSH и через WEB FTP — панель управления.
Установите на рабочий компьютер FTP-клиент, например, FileZilla, Total Commander.
Для подключения к FTP-серверу понадобятся:
- Имя хоста (адрес FTP-сервера). Он похож на адрес сайта, но содержит в наименовании «ftp», а также домен, на котором он расположен. Если речь идет об управлении сайтом, это будет домен его хостинг-провайдера.
- Логин и пароль пользователя. Для подключения к FTP-серверу вы должны авторизоваться, поэтому у вас обязательно должны быть логин и пароль для подключения.
- Номер порта – если он отличается от стандартного.
Данные по FTP-подключению есть в панели управления хостинга Hoster.ru в разделе Управление — Хостинг.
Рассмотрим подключение на примере FTP-клиента FileZilla.
Это популярный FTP-клиент: простой, удобный и, что немаловажно, бесплатный. Чаще всего для работы с FTP используют именно его. Программа доступна для Windows, Linux и MacOS.
Для соединения с FTP-сервером через FileZilla есть два способа.
Быстрое соединение.
На верхней панели программы есть специальные поля, в которых нужно указать:
- Хост – здесь вы пишете адрес FTP-сервера.
- Имя пользователя – указываете свой логин.
- Пароль – вводите пароль для подключения.
- Порт – номер порта указываете, если он отличается от стандартного.
После чего кликаем кнопку «Быстрое соединение».

Менеджер сайтов.
Если вы работаете с многими FTP-подключениями или просто не хотите вводить все данные заново при каждом подключении, можно записать параметры соединения в «Менеджер сайтов», который находится в меню «Файл». Дополнительно там можно прописать различные настройки соединения.

Помните, что хранение паролей в FileZilla небезопасно – они записываются в файлы программы в незащищенном виде и могут быть украдены не только троянами, но и другими пользователями, имеющими доступ к вашему ПК.
Загрузка файлов по SSH
Протокол SSH обеспечивает защищённый канал связи между клиентом и сервером, через который можно передавать данные (файлы), работать в командной строке, удаленно запускать программы, в том числе графические. SSH-сервер должен быть установлен на удаленной операционной системе. SSH-клиент должен быть запущен на машине, с которой будет осуществляться удаленное подключение.
При создании соединения протокол SSH идентифицирует пользователя клиентского приложения; это может быть:
- проверка с помощью логина и пароля (причем пароли также передаются в зашифрованном виде). Самый распространенный метод аутентификации;
- идентификация с помощью ключа – считается наиболее надежным способом;
- проверка по IP – ненадежный метод.
Данные для доступа по SSH, так же, как и для FTP подключения, можно найти в панели управления в разделе Управление — Хостинг.
Подключение по SSH из ОС семейства Linux
В операционных системах Linux есть встроенный терминал, с помощью которого можно подключиться по SSH к серверу. Для его вызова нужно нажать сочетание клавиш Ctrl+Alt+T.
Далее наберите в терминале строку вида:
- login – ваш логин на сервере;
- имя хоста ssh – имя хоста ssh сервера.
После этого в окне терминала появится запрос подтверждения подключения (наберите yes) и запрос пароля – наберите пароль и нажмите Enter.
Если все введено корректно, откроется соединение по SSH.

Подключение из Windows
Для создания соединения с сервером по SSH в Windows используется утилита PuTTY.
Это простой исполняемый файл, который не требует установки.
- Скачайте и запустите PuTTY.
- В основных настройках программы укажите IP-адрес сервера в поле Host Name.
- Проверьте, чтобы было выставлено соединение по SSH и правильный номер порта.
- Нажмите Open.
- По запросу программы ведите свой логин, а потом пароль. Ввод пароля не отображается – это нормально.
- Если все введено правильно, откроется подключение по SSH.
Загрузка файлов через Web FTP (панель управления)
Чтобы загрузить файл или документ на хостинг используя встроенный FTP (Web FTP) необходимо перейти в раздел Управление — Хостинг — Web FTP.

В открывшемся окне в панели снизу нажимаем на Загрузить.

Вы можете выбрать один из вариантов загрузки: загрузить файл, загрузить папку или загрузить ZIP — архив с файлами, который можно будет распаковать там же, в панели.
Загрузка файлов в корневой каталог сайта осуществляется тем же способом: загрузить — Загрузить файл.
Загружая файл на хостинг, вы получаете прямую ссылку на этот файл, то есть, если добавить файл test.php в корневую папку сайта, можно открыть в браузере содержимое этого файла. Просто вводите доменное имя сайта и через слеш название файла (например, test.ru/test.php). Тот же принцип действует для загрузки документа или html файла на хостинг, а также для загрузки аудио и видео файлов. Есть небольшие ограничения по загрузке тяжелых файлов на хостинг через панель управления. В таком случае лучше загружать файлы через SSH подключение, чтобы избежать потери данных.
Также если вы хотите получить самую высокую степень защиты, этот протокол подойдет оптимально.