使用Python怎么实现一个HTTP和FTP服务器

  介绍

今天就跟大家聊聊有关使用Python怎么实现一个HTTP和FTP服务器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

有时你需临时搭建一个简单的<代码> Web服务器> Apache ,<代码> Nginx> <代码>服务程序时。这时可以使用Python <代码> 内建的<代码> SimpleHTTPServer 模块快速搭建一个简单的HTTP代码 <代码>服务器。

<代码> SimpleHTTPServer 模块可以把你指定目录中的文件和文件夹以一个简单的<代码>网络> 网络> /用户/迈克/码头工人> ,美元cd /用户/迈克/码头工人   美元,python  -m  SimpleHTTPServer   Serving  HTTP 提醒0.0.0.0  port  8000年,…

<代码> SimpleHTTPServer 模块默认会在8000年端口上监听一个HTTP代码 <代码>服务,这时就可以打开浏览器输入<代码> http://IP 访港问这个<代码>网络>

<代码> http://192.168.100.49:8000

如果你需要<代码>网络>

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

<代码> python - m SimpleHTTPServer 8080美元

<强>用python快速实现FTP服务器

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

首先安装<代码> Pyftpdlib 模块

<代码> $ sudo pip安装Pyftpdlib

通过<代码> python代码的<代码> - m 选项将<代码> Pyftpdlib 模块作为一个简单的独立服务器来运行,假设我们需要共享目录<代码>/用户/迈克/码头工人> ,美元cd /用户/迈克/码头工人   美元,python  -m  pyftpdlib   (小姐:2018 - 01 - 02,16:24:02],在祝辞祝辞,starting  FTP  server 提醒:::2121年,pid=7517, & lt; & lt; & lt;   (小姐:2018 - 01 - 02,16:24:02],concurrency 模型:异步   (小姐:2018 - 01 - 02,16:24:02],masquerade  (NAT),地址:没有   [小姐:2018 - 01 - 02,16:24:02],passive 港口:,没有

至此一个简单的FTP <代码> 服务器已经搭建完成,访问<代码> ftp://IP端口>

<李>

默认IP为本机所有可用IP、端口为2121 .

<李>

默认登陆方式为匿名。

<李>

默认权限是只读

如果你要建一个有认证且可写的<代码> FTP 服务器,可使用类似以下指令:

<代码> python - m美元pyftpdlib我192.168.100.49 - w - d/tmp/迈克- u - p 123456

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

常用可选参数说明:

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

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

,美元python  -m  pyftpdlib ——帮助   用法:,python  -m  pyftpdlib [选项]   Start  a  stand  alone  anonymous  FTP 服务器。   选项:   - h,——帮助   ,show 却;能够help  message 以及退出   ,小姐,地址,——界面=地址   ,specify 从而,interface 用run 提醒(default  all 接口)   ,-p 端口,端口=端口   ,specify  port  number 用run 提醒(default  2121)   ,- w,——写作   ,grants  write  access  for  logged  user 拷贝(default 只读)   ,-d 文件夹,文件夹——目录=从而,specify  directory 用share  (default  current 目录)   ,-n 地址——nat-address=地址   ,从而NAT  address 用use  for  passive 连接   ,-r 从——范围=从   ,从而range  of  TCP  ports 用use  for  passive  connections (如只-r  8000 - 9000年)   ,- d,调试   ,enable  DEBUG  logging 埃维尔?   - v,——版本   ,print  pyftpdlib  version 以及退出   - v,——冗长   ,activate  a  more  verbose 日志记录   ,-u 用户名,用户名=用户名   ,specify  username 用login  with  (anonymous  login  will  be  disabled 以及password  required  if 提供)   ,-P 密码,密码=密码   ,specify  a  password 用login  with  (username  required 用be 有用)

使用Python怎么实现一个HTTP和FTP服务器