有时你需临时搭建一个简单的 Web Server,但你又不想去安装 Apache、Nginx 等这类功能较复杂的 HTTP 服务程序时。这时可以使用 Python 内建的 SimpleHTTPServer 模块快速搭建一个简单的 HTTP 服务器。

SimpleHTTPServer 模块可以把你指定目录中的文件和文件夹以一个简单的 Web 页面的方式展示出来。
假设我们需要以 Web 方式共享目录 /Users/Mike/Docker,只需要以下这个命令行就可以轻松实现:

$ cd /Users/Mike/Docker
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

SimpleHTTPServer 模块默认会在 8000 端口上监听一个 HTTP 服务,这时就可以打开浏览器输入 http://IP:Port访问这个 Web 页面。例如类似下面的 URL:

http://192.168.100.49:8000

如果你需要 Web 服务有一个默认页,可以在目录下创建一个名为 index.html 的文件。如果没有默认页,那么会以列表的形式将目录中的内容显示出来。

如果默认的 8000 端口已经被占用,你想换成使用其它端口号,可以使用如下的命令:

$ python -m SimpleHTTPServer 8080

有时当你想快速搭建一个 FTP 服务器来临时实现文件上传下载时,这是特别有用的。我们这里利用 Python 的 Pyftpdlib 模块可以快速的实现一个 FTP 服务器的功能。

首先安装 Pyftpdlib 模块

$ sudo pip install pyftpdlib

通过 Python 的 -m 选项将 Pyftpdlib 模块作为一个简单的独立服务器来运行,假设我们需要共享目录 /Users/Mike/Docker,只需要以下这个命令行就可以轻松实现:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
$ cd /Users/Mike/Docker
$ python -m pyftpdlib
[I 2018-01-02 16:24:02] >>> starting FTP server on :::2121, pid=7517 <<<
[I 2018-01-02 16:24:02] concurrency model: async
[I 2018-01-02 16:24:02] masquerade (NAT) address: None
[I 2018-01-02 16:24:02] passive ports: None

至此一个简单的 FTP 服务器已经搭建完成,访问 ftp://IP:PORT 即可。例如类似下面的 URL:

ftp://192.168.100.49:2121
  • 默认 IP 为本机所有可用 IP,端口为 2121。
  • 默认登陆方式为匿名。
  • 默认权限是只读。
    如果你要建一个有认证且可写的 FTP 服务器,可使用类似以下指令:
$ python -m pyftpdlib -i 192.168.100.49 -w -d /tmp/ -u mike -P 123456

小插曲:测试时一直使用密码 000000 这样的弱密码做认证密码,在客户端登陆时一直提示认证失败。看来 Pyftpdlib 模块还做了基本的安全策略哟,不错的!

常用可选参数说明:

-i 指定IP地址(默认为本机所有可用 IP 地址)
-p 指定端口(默认为 2121)
-w 写权限(默认为只读)
-d 指定目录 (默认为当前目录)
-u 指定登录用户名
-P 指定登录密码

更多参数可以使用以下指令查询:

$ python -m pyftpdlib --helpUsage: python -m pyftpdlib [options]Start a stand alone anonymous FTP server.Options:
-h, --help
show this help message and exit-i ADDRESS, --interface=ADDRESS
specify the interface to run on (default all interfaces)-p PORT, --port=PORT
specify port number to run on (default 2121)-w, --write
grants write access for logged in user (default read-only)-d FOLDER, --directory=FOLDER
specify the directory to share (default current directory)-n ADDRESS, --nat-address=ADDRESS
the NAT address to use for passive connections-r FROM-TO, --range=FROM-TO
the range of TCP ports to use for passive connections (e.g. -r 8000-9000)-D, --debug
enable DEBUG logging evel-v, --version
print pyftpdlib version and exit-V, --verbose
activate a more verbose logging-u USERNAME, --username=USERNAME
specify username to login with (anonymous login will be disabled and password required if supplied)-P PASSWORD, --password=PASSWORD
specify a password to login with (username required to be useful)

如果你需卸载 Pyftpdlib 模块,可以通过以下命令:

$pip uninstall pyftpdlib

用 Python 快速实现 HTTP 和 FTP 服务器相关推荐

  1. python ftp服务器限速_用 Python 快速实现 HTTP 和 FTP 服务器

    用 Python 快速实现 HTTP 服务器 有时你需临时搭建一个简单的 Web Server,但你又不想去安装 Apache.Nginx 等这类功能较复杂的 HTTP 服务程序时.这时可以使用 Py ...

  2. asp获取ftp服务器目录并显示_用 Python 快速实现 HTTP 和 FTP 服务器

    「运维之美」原创文章系列 本文首发于:微信公众号「运维之美」,公众号ID:Hi-Linux.「运维之美」是一个有情怀.有逼格,专注于 Linux 运维相关技术实战文章分享的公众号.如果你想第一时间获取 ...

  3. 400多行Python代码实现了一个FTP服务器

    Python版本 实现了比之前的xxftp更多更完善的功能 1.继续支持多用户 2.继续支持虚拟目录 3.增加支持用户根目录以及映射虚拟目录的权限设置 4.增加支持限制用户根目录或者虚拟目录的空间大小 ...

  4. python 学习笔记二 搭建ftp服务器

    这是一个系列,记录我python开发常用的代码,小常识,有些是参考网上代码,(讲的可能有点烂,求不要打脸,嘤嘤嘤~~)送给那些需要的人.可以相互交流,喜欢的加我吧. Wx: Lxp911221 这是自 ...

  5. python sftp连接_python 进行ftp服务器和sftp服务器连接

    1.背景. 最近接到一个任务,需要写一个python脚本,从客户公司的服务器拉取图片存放到我们公司的sftp服务器. 由于没头没脑,所以我采用无限遍历,将对方服务器中文件的路径原原本本的复制到我们公司 ...

  6. python 播放视频 ftp_利用Python快速搭建HTTPFTP服务器

    用 Python 快速实现 FTP 服务器 有时当你想快速搭建一个 FTP 服务器来临时实现文件上传下载时,这是特别有用的.我们这里利用 Python 的Pyftpdlib 模块可以快速的实现一个 F ...

  7. linux下如何启动vsftp服务,如何在Ubuntu 18.04上使用VSFTP快速设置FTP服务器

    如果您需要配置一个FTP服务器快速启动运行,那么VSFTP的易用性是无与伦比的. 如果你想将应用程序迁移到最新版本Ubuntu Linux服务器中,并且需要快速启动并运行FTP服务器.如何操作?这实际 ...

  8. 用win7系统如何登录ftp服务器,Win7系统怎么访问FTP服务器?Win7访问FTP服务器图文教程...

    最近有初学建设网站的用户反应,不知道Win7系统怎么访问FTP服务器,其实很简单的,下面小编就为大家讲解Win7访问FTP服务器的方法,需要的用户快来试试吧. 具体步骤如下: 搭建FTP服务的软件有很 ...

  9. 思维导图 - 测试技术扩展:Postman接口测试、Sonar白盒测试、Sonic移动测试、Python操作FTP服务器

    给大家整理了下测试技术扩展相关的学习文档. 第一章: Postman 接口测试工具 测试工具 - Postman 接口测试入门使用手册,Postman 如何进行数据关联.自动更新 cookies.简单 ...

最新文章

  1. 深度好文 — 微服务和API网关限流熔断实现关键逻辑思路
  2. HTTP/TCP/IP协议
  3. CDN 二级回源实现
  4. asp.net C# 直接读取或访问其它网站的URL示例
  5. 华为云客户端_华为公布云手机计费清单,要不要光刻机也给出了答案
  6. Linux之cut命令
  7. 我为什么免费给ipad做了一个大广告?
  8. etcd upgrade
  9. mysql 自定义函数 找不到表,mysql判断表记录是否存在,不存在则插入新纪录
  10. linux u盘安装win8,u盘启动大师安装深度技术win8.1系统教程
  11. IOS 13陀螺仪监控
  12. 红蓝眼睛(答案在文章中找)
  13. 硬件工程师-电阻知识大全
  14. 用C语言建立一个顺序栈
  15. 【Unity3D】相机跟随
  16. 松下A6伺服驱动器MADLN15SE与欧姆龙PLC的连接和试运行
  17. Apache-drill Architechture
  18. python笛卡尔_Python 计算笛卡尔积
  19. Nunit常用类(一) - Assert
  20. 07thinkphp第二天总结

热门文章

  1. LintCode_173 链表插入排序
  2. Linux下多线程查看工具(pstree、ps、pstack),linux命令之-pstree使用说明
  3. 方法中的参数的五种形式
  4. ASP.NET MVC 3 Internationalization
  5. 锐捷网络GSN全局安全政府行业解决方案
  6. 教你获取WindowsNT的Admin权限的方法
  7. 【MM模块】RFQ 采购询价单
  8. 41、Power Query-Text.Combine函数进阶2
  9. 怎么查询交通银行卡的支付卡号?
  10. 弹出显示多条的message对话框