【跟着暴躁哥学 Python】 http.server:快速搭建你的本地服务器

你有没有想过,就在你的电脑上,用几行代码就能搭建一个服务器?没错,不需要复杂的Apache、Nginx,Python的http.server模块就能让你快速起飞。今天,暴躁哥就带你快速入门!

1.为啥用 http.server?

简单!快!烦那些花里胡哨的东西?http.server是你的最佳选择。不用装一堆乱七八糟的东西,Python自带的,开箱即用!

2.基本使用

看这里,一行命令:

python -m http.server

完了,你的电脑现在就是个服务器了,端口是8000。打开浏览器,输127.0.01:8000,看看是不是有东西?

如果你需要换一个端口, 比如8001。

你可以这样:

python -m http.server 8001

3.自定义服务器

“这样太简单了,我要自定义!” 没问题!来自定义一个:

比如我们加上一个"/hello"路由。

from http.server import HTTPServer, SimpleHTTPRequestHandler

class MyHandler(SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/hello':
            self.send_response(200)
            self.end_headers()
            self.wfile.write(b"Hello, world!")
        else:
            super().do_GET() # 其他请求就用默认的处理方式

server_address = ('', 8008)
httpd = HTTPServer(server_address, MyHandler)
httpd.serve_forever()

再复杂点儿,需要加上简单的POST请求。

import cgi
from http.server import HTTPServer, SimpleHTTPRequestHandler


class MyHandler(SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/hello':
            self.send_response(200)
            self.end_headers()
            self.wfile.write(b"Hello, world!")
        else:
            super().do_GET()  # 其他请求就用默认的处理方式

    def do_POST(self):
        if self.path == '/submit':
            form = cgi.FieldStorage(
                fp=self.rfile,
                headers=self.headers,
                environ={'REQUEST_METHOD': 'POST'}
            )
            message = form.getvalue('message')
            self.send_response(200)
            self.end_headers()
            response = f"Message received: {message}"
            self.wfile.write(response.encode())
        else:
            self.send_error(404, "File not found")


if __name__ == '__main__':
    server_address = ('', 8008)
    print(f"server start at http://127.0.0.1:{server_address[1]}")
    httpd = HTTPServer(server_address, MyHandler)
    httpd.serve_forever()

POST数据到/submit,服务器就会回你一条信息。

4.实际应用

别闹了,这东西就是用来快速测试一些静态文件的。你要是真想建网站,还是老老实实用 Django 或 Flask 吧。

5. 结束了!

行了,你现在知道基本的用法了。去试试吧,别问我为什么不讲得更细致,暴躁哥时间宝贵,这些够你玩儿一阵子的了!


看见了吧,用Python的http.server搭建服务器,简单快捷,不需要太多复杂操作。当然,这只是适合快速测试和学习,如果你想要更专业的服务器功能,还是需要使用专业的Web框架。别废话,赶紧去试试!

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值