FTP 服务器在WIN10上的搭建及服务端下载文件实例
1.搭建
(1)控制面板--->程序----->将FTP服务器打勾

(2)输入iis,或者右键桌面-->管理-->服务和应用程序--->internet information service,右键网站,添加FTP站点。

(3)cmd输入ipconfig/all,查询本机ip地址,将Ip地址填入。

(4)打勾如下

(5)确定,然后重启计算机生效。加入Ip地址是1.2.3.4,在浏览器输入ftp://1.2.3.4,跳转至物理地址。
2.客户端下载文件实例
from ftplib import FTP
import sys,os
print(sys.executable)
os.chdir(r'C:\Users\旺仔QQ糖\Desktop\webpageDesign')
filepath='pic'
Host='1.2.3.4'
files=['1.png','2.png','3.png','4.png']
def getFiles(files,ftp,bufsize):
for file in files:
ftp.retrbinary('retr '+file,open(file,'wb').write,bufsize) f=FTP(Host)
f.login()
print('success login')
f.encoding='GB18030' # encod chinese character f.cwd(flepath)
getFiles(files,f,1024)
需要注意的是需要 f.encoding='GB18030',否则汉字将出现乱码。
(3)也可以直接通过urllib.request.urlretrieve(url,filename=None)来下载,但应注意的是url路径中不能出现中文,filename是保存到客户端后的文件名。
urllib.request.urlretrieve(u'ftp://172.17.113.68/design.docx','设计总结0.docx')
如果下载本文所在的html文件:
urllib.request.urlretrieve('https://www.cnblogs.com/johnyang/p/12376833.html','blog.html')
3.实用上传下载脚本
from ftplib import FTP
Host=input('>>>input IP...')
print('Get Host= %s'% Host)
def retry(Host):
try:
f=FTP(Host)
f.login()
f.encoding='GB18030'
print('connected successfully')
print('Use f.dir() to show the current files in the file fold,Use f.cwd() to get into the inner file fold')
return f
except:
print('Try to connect VPN') def downloadFile(f,filename):
try:
f.retrbinary('retr '+filename,open(filename,'wb').write)
print('Downloading successfully')
except:
print('Fail to fetch') def uploadFile(f,filename):
try:
f.storbinary('stor '+filename,open(filename,'rb'))
print('uploading successfully')
except:
print('Fail to push') if __name__=='__main__':
Host='1.2.3.4'
retry(Host)
FTP 服务器在WIN10上的搭建及服务端下载文件实例的更多相关文章
- 【2017-05-30】WebForm文件上传。从服务端删除文件
用 FileUpload控件进行上传文件. <asp:FileUpload ID="FileUpload1" runat="server" /> ...
- 通过JAVA对FTP服务器连接,上传,下载,读取,移动文件等
记录一次对FTP服务器文件内容 通过Java程序对FTP服务器文件处理:连接,上传,下载,读取,移动文件等. 需求描述:今天接到一个任务,在Java项目中,读取FTP服务器上的一些文件,进行一些业务操 ...
- contos7搭建syslog服务端与客户端
搭建中心服务端1,编辑文件/etc/rsyslog.conf,找到以下内容,将前面的#注释符合去除#$ModLoad imtcp#$InputTCPServerRun 514 2,在/etc/rsys ...
- Centos6.9 搭建rsync服务端与客户端 案例:全网备份项目
rsync的企业工作场景说明 1)定时备份 1.1生产场景集群架构服务器备份方案项目 借助cron+rsync把所有客户服务器数据同步到备份服务器 2)实时复制 本地数据传输模式(local-only ...
- 快速搭建Kerberos服务端及入门使用
快速搭建Kerberos服务端及入门使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Kerberos是一种网络身份验证协议.它旨在通过使用秘密密钥加密为客户端/服务器应用程序提 ...
- 最全Linux搭建SVN服务端教程
文章首推 支付宝接口对接 高德地图调用 验证码登录 QQ邮箱登录 今日主题:Linux搭建SVN服务端 简介 相信程序员对SVN还是不陌生的,虽然现在用Git比较多,但是SVN也是用的,SVN可以做代 ...
- OpenResty搭建高性能服务端
OpenResty搭建高性能服务端 Socket编程 Linux Socket编程领域为了处理大量连接请求场景,需要使用非阻塞I/O和复用,select.poll.epoll是Linux API提 ...
- 《用OpenResty搭建高性能服务端》笔记
概要 <用OpenResty搭建高性能服务端>是OpenResty系列课程中的入门课程,主讲人:温铭老师.课程分为10个章节,侧重于OpenResty的基本概念和主要特点的介绍,包括它的指 ...
- vue.js+koa2项目实战(四)搭建koa2服务端
搭建koa2服务端 安装两个版本的koa 一.版本安装 1.安装 koa1 npm install koa -g 注:必须安装到全局 2.安装 koa2 npm install koa@2 -g 二. ...
随机推荐
- Codeforces Round #618 (Div. 2)C. Anu Has a Function
Anu has created her own function ff : f(x,y)=(x|y)−y where || denotes the bitwise OR operation. For ...
- sqlserver数据将多个表或视图的数据合并到一个表或视图里的sql语句
create view dbo.V_ZDUser_DDasselect * from dbo.V_ZDUser_DD1 union all select * from dbo.V_ZDUser_DD2 ...
- 推荐一款好用的博客离线编辑工具——OpenLiveWriter
1.前言 我们自己一般在写博客的时候都是在博客官网后台写的,但是如果要在多个平台发布博客的话,那就要复制好前面写好的博客,然后再去其它博客平台发布,可见非常的麻烦. 这里推荐一款好用的离线多功能,多平 ...
- Python与线性代数——Numpy中的matrix()和array()的区别
Numpy中matrix必须是2维的,但是 numpy中array可以是多维的(1D,2D,3D····ND).matrix是array的一个小的分支,包含于array.所以matrix 拥有arra ...
- requests 用法小速记
Request库安装方法 Request官网 使用管理员权限启动 command控制台(win+X 命令提示符(管理员)) 使用pip安装requests库(默认配置好python以及pip的环境变量 ...
- 操作系统OS,Python - 生产者消费者模型
1. 缓冲区(此处用阻塞队列充当),解决消费者和生产者强耦合问题.(生产者和消费者不直接通信) 2. 通过平衡生产者线程和消费者线程,来提高程序整体处理数据速度. 3. 在并发编程中该模式能解决大多数 ...
- JAVA中final关键字的作用
一.final关键字的功能概述 final关键字可以用来修饰引用.方法和类. 1.用来修饰一个引用 如果引用为基本数据类型,则该引用为常量,该值无法修改: 如果引用为引用数据类型,比如对象.数组,则该 ...
- String_Java
1.substring() 方法返回字符串的子字符串. 语法 public String substring(int beginIndex)//返回第beginIndex个字符以后的子字符串 或 pu ...
- springmvc 请求出现400错误(当传入的参数类型是Date时加上下面代码试试)
@InitBinder protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) t ...
- $.fn.exted({})与$.extend({})区别
$.fn.extend({}) $.fn.extend({ aaa:function(){ alert(1); } }); 可以通过对象调用方法 $('.aaa').aaa(); $.extend({ ...