超简单的Python HTTP服务

yipeiwu_com5年前Python基础

超如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等。那么, Python 可能帮助你。使用Python可以完成一个简单的内建 HTTP 服务器。于是,你可以把你的目录和文件都以HTTP的方式展示出来。佻只需要干一件事情,那就是安装一个Python。

实际上来说,这是一个可以用来共享文件的非常有用的方式。实现一个微型的HTTP服务程序来说是很简单的事情,在Python下,只需要一个命令行。下面是这个命令行:(假设我们需要共享我们的目录 /home/haoel 而IP地址是192.168.1.1)

$ cd /home/haoel
$ python -m SimpleHTTPServer

这就行了,而我们的HTTP服务在8000号端口上侦听。你会得到下面的信息:

Serving HTTP on 0.0.0.0 port 8000 ...

你可以打开你的浏览器(IE或Firefox),然后输入下面的URL:

http://192.168.1.1:8000/

如果你的目录下有一个叫 index.html 的文件名的文件,那么这个文件就会成为一个默认页,如果没有这个文件,那么,目录列表就会显示出来。

如果你想改变端口号,你可以使用如下的命令:

$ python -m SimpleHTTPServer 8080

如果你只想让这个HTTP服务器服务于本地环境,那么,你需要定制一下你的Python的程序,下面是一个示例:

import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol   = "HTTP/1.0"
if sys.argv[1:]:
  port = int(sys.argv[1])
else:
  port = 8000
server_address = ('127.0.0.1', port)
HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)
sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()

注意:所有的这些东西都可以在 Windows 或 Cygwin 下工作。

总结

以上所述是小编给大家介绍的超简单的Python HTTP服务,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python 读取视频,处理后,实时计算帧数fps的方法

实时计算每秒的帧数 cap = cv2.VideoCapture("DJI_0008.MOV") #cap = cv2.VideoCapture(0) # Define the...

详谈Python3 操作系统与路径 模块(os / os.path / pathlib)

以下代码以Python3.6.1 / windows10为例 Less is more! #!/usr/bin/env python # coding=utf-8 __author...

Python处理文本文件中控制字符的方法

控制字符 控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(...

numpy:np.newaxis 实现将行向量转换成列向量

np.newaxis 新增一个轴 如何将数组[0,1,2]转换成列向量 用ndarray[: , np.newaxis] 代码实质就是将原本的(0,1,2)移到行上,然后新增一列 其实...

深入浅析Python传值与传址

1. 传值与传址的区别 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变:...