非常简单的Python HTTP服务

如果因为某种需求急需一个web服务器,而又不至于去在httpd和nginx中配置一个新的虚拟主机,Python或许可以帮上这个临时的小需求。 使用Python可以完成一个简单的内建 HTTP 服务器。把需要共享的目录或者文件都以HTTP的方式展示出来。

非常简单的Python HTTP服务非常简单的Python HTTP服务

这是一个可以非常方便实用的,用来共享文件或者临时测试的方式。实现一个微型的HTTP服务程序来说是很简单的事情,在Python下,只需要一个命令行:

python -m SimpleHTTPServer

Python3 的模块变了, Python3 的用法

python3 -m http.server 8000

这就行了,而python临时的HTTP服务在其默认的8000号端口上侦听。你会得到下面的信息:

Serving HTTP on 0.0.0.0 port 8000 ...

你可以打开你的浏览器,然后输入下面的IP+端口:

http://IP:8000

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

如果8000端口被占用,你可以使用如下的命令:

python -m SimpleHTTPServer 9000

如果你只想让这个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 下工作。如果工作期间有需要共享文件,恰巧又在同一个局域网,就不必在需要U盘了,而且速度还更快。

转载于:https://my.oschina.net/linuxsifangcai/blog/2223108

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值