基于python -m http.server的文件共享服务器搭建

背景:

在我们实际工作中,我们经常遇到文件传输这样的事情,小文件传输,一般使用QQ或者微信就能满足,但当传输文件几百MB或者几十G时,这种传输效率就有点捉襟见肘;同时,我们也可以用U盘或者移动硬盘进行拷贝,但偶尔移动硬盘满了或者没有携带时候,就尴尬了。本文可以用Python搭建一个简单HTTP服务,在一个局域网内可以达到几十兆的速度。

操作过程:
1.安装python基本环境

2.使用python的http.server功能即可

演示效果如下,在dos命令下执行“python -m http.server”:这样就开启了一个文件服务端,默认端口是8000,也可以指定文件传输的端口。

 3. 在本机浏览器中用http://127.0.0.1:8000即可访问目录下内容,也可以使用localhost:8000在本机上访问,如果是其它电脑访问,只要是同一局域网中的电脑输入服务端的IP:端口号即可。如果需要切换共享目录,在运行命令之前切换一下路径即可。

 基于python -m http.server的文件共享服务器搭建_第1张图片

 4.根据自己的需求,下载相应的文档即可,然后后台会有对应的记录,可以进行查看。

 有时候我们需要记录后台服务的请求过程,可以把它以日志的形式记录下来。

5.自己在第一次记录日志的时候,因为需要在C盘上创建文件并进行写,电脑上报了一个错误:

0x80070522:客户端没有所需要的特权

基于python -m http.server的文件共享服务器搭建_第2张图片

 使用下面的命令在Dos窗体中运行可以轻松解决:

icacls c:\ /setintegritylevel M

补充: 

用Python实现简单的HTTP服务器如下三种:

BaseHTTPServer:提供基本的Web服务和处理器类,分别是HTTPServer及BaseHTTPRequestHandler;
SimpleHTTPServer:包含执行GET和HEAD请求的SimpleHTTPRequestHandler类;
CGIHTTPServer:包含处理POST请求和执行的CGIHTTPRequestHandler类。
在我目前的实现中,主要采用BaseHTTPServer模块。
 

另外python -m http.server格式说明如下:

$ python -m http.server --help
usage: server.py [-h] [--cgi] [--bind ADDRESS] [--directory DIRECTORY] [port]
 
positional arguments:
  port                  Specify alternate port [default: 8000]
 
optional arguments:
  -h, --help            show this help message and exit
  --cgi                 Run as CGI Server
  --bind ADDRESS, -b ADDRESS
                        Specify alternate bind address [default: all
                        interfaces]
  --directory DIRECTORY, -d DIRECTORY
                        Specify alternative directory [default:current
                        directory]

你可能感兴趣的:(文件共享,http.server,python,服务器)