Python开HTTP服务器

这篇博客介绍了如何使用Python 2和3创建简单的HTTP服务器,用于本地静态文件的浏览。通过不同命令行参数,你可以指定IPv4或IPv6,端口,甚至服务器的绑定地址。此外,还提供了设置默认编码为UTF-8的方法,以防止中文乱码。无论你是Python 2还是3的用户,都可以轻松地按照这些指令搭建自己的小型Web服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:
https://blog.csdn.net/cxrsdn/article/details/106622248
方便个人查询

python 生成静态文件http服务器

python2:

#ipv4
python -m SimpleHTTPServer 8080
python -m SimpleHTTPServer 8080 --bind 127.0.0.1
python -m SimpleHTTPServer 8080 --bind 0.0.0.0
 
#ipv6
python -c "import socket,SocketServer,CGIHTTPServer;SocketServer.TCPServer.address_family=socket.AF_INET6;CGIHTTPServer.test()" 8080

python3:
https://docs.python.org/3/library/http.server.html
不指定端口的话默认为8000端口

# ipv4
python3 -m http.server 8080
python3 -m http.server 8080 --bind 127.0.0.1
python3 -m http.server 8080 --bind 0.0.0.0
#指定目录,需要python3.7以上版本,-d/--directory
python3 -m http.server 8080 --bind 0.0.0.0 -d /tmp/

使用utf-8编码

避免出现中文乱码情况
webserver - How can I serve files with UTF-8 encoding using Python SimpleHTTPServer? - Stack Overflow
python2:

python -c "import SimpleHTTPServer; m = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map; m[''] = 'text/plain'; m.update(dict([(k, v + ';charset=UTF-8') for k, v in m.items()])); SimpleHTTPServer.test();"
# 指定端口
python -c "import SimpleHTTPServer; m = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map; m[''] = 'text/plain'; m.update(dict([(k, v + ';charset=UTF-8') for k, v in m.items()])); SimpleHTTPServer.test();" 8080
# 指定端口和bind
python -c "import SimpleHTTPServer; m = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map; m[''] = 'text/plain'; m.update(dict([(k, v + ';charset=UTF-8') for k, v in m.items()])); SimpleHTTPServer.test();" 8080 --bind 0.0.0.0

python3:

#默认端口8000
python3 -c "from http.server import test, SimpleHTTPRequestHandler as RH; RH.extensions_map={k:v+';charset=UTF-8' for k,v in RH.extensions_map.items()}; test(RH)"
# 指定端口
python3 -c "from http.server import test, SimpleHTTPRequestHandler as RH; RH.extensions_map={k:v+';charset=UTF-8' for k,v in RH.extensions_map.items()}; test(RH,port=8080)"
# 指定端口和bind
python3 -c "from http.server import test, SimpleHTTPRequestHandler as RH; RH.extensions_map={k:v+';charset=UTF-8' for k,v in RH.extensions_map.items()}; test(RH,port=8080)"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值