5 способов загрузки файлов с FTP с примерами кода

Протокол передачи файлов (FTP) — это стандартный сетевой протокол, используемый для передачи файлов между клиентом и сервером по сети на основе TCP/IP. В этой статье мы рассмотрим пять различных способов загрузки файлов с FTP-сервера с использованием различных языков программирования. Каждый метод будет сопровождаться примерами кода на Python, Bash, PowerShell и Java.

Метод 1: библиотека Python ftplib
Python предоставляет библиотеку ftplib, которая предлагает высокоуровневый интерфейс для операций FTP. Вот пример загрузки файла с помощью Python:

from ftplib import FTP
ftp = FTP('ftp.example.com')
ftp.login(user='username', passwd='password')
ftp.cwd('/path/to/remote/directory')
ftp.retrbinary('RETR filename.txt', open('localfile.txt', 'wb').write)
ftp.quit()

Метод 2: командная строка Bash
В Bash вы можете использовать команду wgetс URL-адресом FTP для загрузки файлов. Вот пример:

wget ftp://username:password@ftp.example.com/path/to/remote/file.txt -O localfile.txt

Метод 3: PowerShell FTPWebRequest
PowerShell предоставляет класс FTPWebRequest, который позволяет взаимодействовать с FTP-серверами. Вот пример загрузки файла с помощью PowerShell:

$ftpRequest = [System.Net.FtpWebRequest]::Create("ftp://ftp.example.com/path/to/remote/file.txt")
$ftpRequest.Credentials = New-Object System.Net.NetworkCredential("username", "password")
$ftpRequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile
$response = $ftpRequest.GetResponse()
$stream = $response.GetResponseStream()
$localFile = New-Object IO.FileStream("C:\path\to\local\file.txt", [IO.FileMode]::Create)
$stream.CopyTo($localFile)
$stream.Close()
$localFile.Close()
$response.Close()

Метод 4: Библиотека FTP-клиента Java
Если вы предпочитаете Java, вы можете использовать библиотеку Apache Commons Net, в частности класс FTPClient, для загрузки файлов с FTP-сервера. Вот пример:

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
FTPClient ftpClient = new FTPClient();
ftpClient.connect("ftp.example.com");
ftpClient.login("username", "password");
ftpClient.changeWorkingDirectory("/path/to/remote/directory");
File localFile = new File("/path/to/local/file.txt");
OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(localFile));
ftpClient.retrieveFile("remote-file.txt", outputStream);
outputStream.close();
ftpClient.logout();
ftpClient.disconnect();

Метод 5: командная строка cURL
Наконец, вы можете использовать инструмент командной строки curlс URL-адресом FTP для загрузки файлов. Вот пример:

curl --ftp-ssl --user username:password ftp://ftp.example.com/path/to/remote/file.txt -o localfile.txt

В этой статье мы рассмотрели пять различных способов загрузки файлов с FTP-сервера с использованием популярных языков программирования и инструментов командной строки. Эти методы предоставляют разработчикам гибкость и возможность выбрать тот, который соответствует их требованиям. Независимо от того, предпочитаете ли вы Python, Bash, PowerShell или Java, вы можете легко интегрировать загрузку файлов по FTP в свои приложения или сценарии.