win10搭建FTP服务器和FTP的使用

文章目录

      • 一. FTP简介
      • 二. win10环境搭建FTP服务器流程
        • 1. 安装FTP服务和IIS管理控制台
        • 2. 添加FTP站点
        • 3. 测试
        • 4. FTP客户端下载
      • 三. python执行FTP上传和下载

一. FTP简介

FTP(File Transfer Protocol)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个三次握手的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证

科普:
win10搭建FTP服务器和FTP的使用_第1张图片

二. win10环境搭建FTP服务器流程

1. 安装FTP服务和IIS管理控制台

打开我的电脑,地址栏里输入控制面板\程序,按回车,然后点击启动或关闭Windows功能
win10搭建FTP服务器和FTP的使用_第2张图片
勾选FTP服务器IIS管理控制台,点击确定
win10搭建FTP服务器和FTP的使用_第3张图片

2. 添加FTP站点

我的电脑,地址栏里输入控制面板\所有控制面板项\管理工具
然后双击Internet Information Services(IIS)管理器
win10搭建FTP服务器和FTP的使用_第4张图片
右键网站,点击添加FTP站点...
win10搭建FTP服务器和FTP的使用_第5张图片
填写FTP站点名称物理路径
win10搭建FTP服务器和FTP的使用_第6张图片
再继续按如下图设置
win10搭建FTP服务器和FTP的使用_第7张图片
win10搭建FTP服务器和FTP的使用_第8张图片
最后点击确定,即可看到创建好了一个FTP站点
win10搭建FTP服务器和FTP的使用_第9张图片

3. 测试

打开我的电脑,在地址栏输入ftp://你的IP,比如我的是ftp://192.168.1.8
然后输入电脑的开机用户名密码即可进入
win10搭建FTP服务器和FTP的使用_第10张图片
win10搭建FTP服务器和FTP的使用_第11张图片

4. FTP客户端下载

https://filezilla-project.org/

https://www.filezilla.cn/download/client/

三. python执行FTP上传和下载

# -*- coding: utf-8 -*-
from ftplib import FTP
import time,tarfile,os


#连接ftp
def ftpconnect(host,port, username, password):
    ftp = FTP()
    # 打开调试级别2,显示详细信息
    # ftp.set_debuglevel(2)
    ftp.connect(host, port)
    ftp.login(username, password)
    return ftp

#从ftp下载文件
def downloadfile(ftp, remotepath, localpath):
    # 设置的缓冲区大小
    bufsize = 1024
    fp = open(localpath, 'wb')
    ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize)
    ftp.set_debuglevel(0)# 参数为0,关闭调试模式
    fp.close()

#从本地上传文件到ftp
def uploadfile(ftp, remotepath, localpath):
    bufsize = 1024
    fp = open(localpath, 'rb')
    ftp.storbinary('STOR ' + remotepath, fp, bufsize)
    ftp.set_debuglevel(0)
    fp.close()

if __name__ == "__main__":
    # host,port, username, password
    ftp = ftpconnect("192.168.10.113", 2121,"admin", "123456")
    #下载文件,第一个是ftp服务器路径下的文件,第二个是要下载到本地的路径文件
    downloadfile(ftp, "/12.mp3", r"C:\Users\Administrator\Desktop\ftp\download\test.mp3")
    # 上传文件,第一个是要上传到ftp服务器路径下的文件,第二个是本地要上传的的路径文件
    uploadfile(ftp, '/upload/1.txt', "C:/Users/Administrator/Desktop/1.txt")
    # ftp.close() #关闭ftp
    # #调用本地播放器播放下载的视频
    # os.system('start D:\soft\kugou\KGMusic\KuGou.exe C:\Users\Administrator\Desktop\ftp\test.mp3')

    # print(ftp.getwelcome())# 打印出欢迎信息
    # #获取当前路径
    # pwd_path = ftp.pwd()
    # print("FTP当前路径:", pwd_path)
    # #显示目录下所有目录信息
    # ftp.dir()
    # #设置FTP当前操作的路径
    # ftp.cwd('/upload/')
    # #返回一个文件名列表
    # filename_list = ftp.nlst()
    # print(filename_list)

    # ftp.mkd('目录名')  # 新建远程目录
    # ftp.rmd('目录名')  # 删除远程目录
    # ftp.delete('文件名')  # 删除远程文件
    # ftp.rename('fromname', 'toname')  # 将fromname修改名称为toname

    # 逐行读取ftp文本文件
    # file = '/upload/1.txt'
    # ftp.retrlines('RETR %s' % file)
    # 与 retrlines()类似,只是这个指令处理二进制文件。回调函数 cb 用于处理每一块(块大小默认为 8KB)下载的数据
    # ftp.retrbinary('RETR %s' % file)

你可能感兴趣的:(工具,ftp)