V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
css3
V2EX  ›  程序员

如何在 Python 中用最轻量的方法实现一个返回指定内容的 http 服务

  •  
  •   css3 · 2021-08-10 20:16:11 +08:00 · 2008 次点击
    这是一个创建于 1192 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就用了一个库 oathtool, 命令执行的话,就一行:python -m oathtool $key --> 输出一个验证码

    请教下大牛们,如何将它用最轻的方式实现一个 http 服务呢,flask 是我能想到的最轻的,有没有再轻点的呢?

    16 条回复    2021-08-14 23:02:20 +08:00
    ch2
        1
    ch2  
       2021-08-10 20:17:27 +08:00
    flask 够少的了
    jaylengao
        2
    jaylengao  
       2021-08-10 20:20:02 +08:00
    bottle,依赖就一个文件,你值得拥有
    css3
        3
    css3  
    OP
       2021-08-10 20:23:19 +08:00
    @jaylengao 没用过,不过看了个 demo, 看上去跟 flask 几乎一样量级?
    huluhulu
        4
    huluhulu  
       2021-08-10 21:01:09 +08:00 via iPhone
    python -m SimpleHTTPServer 8080
    LeeReamond
        5
    LeeReamond  
       2021-08-10 21:10:48 +08:00 via Android
    轻的话,wsgiref 进入标准库以后你可以用五行代码手写一个互联网框架,应该够轻了吧
    ClericPy
        6
    ClericPy  
       2021-08-10 21:11:21 +08:00
    bottle 就一个 py 文件, flask 一堆依赖...
    Trim21
        7
    Trim21  
       2021-08-10 21:14:43 +08:00
    如果你不需要支持 post 的话就直接用内置 http.server 模块,是个静态文件服务器

    python -m http.server,是 python3 版本的 SimpleHTTPServer
    HankLu
        8
    HankLu  
       2021-08-10 21:23:48 +08:00
    web.py 也很好啊
    ericls
        9
    ericls  
       2021-08-10 21:51:08 +08:00 via iPhone
    裸 wsgi/asgi 不就行了……
    css3
        10
    css3  
    OP
       2021-08-10 22:40:35 +08:00 via iPhone
    @huluhulu 我要返回指定内容的,不是开个文件服务…
    css3
        11
    css3  
    OP
       2021-08-10 22:41:07 +08:00 via iPhone
    @LeeReamond 好像至少的这么多
    ruanimal
        12
    ruanimal  
       2021-08-10 23:05:26 +08:00
    @css3 继承 SimpleHTTPServer 再改一下就差不多了
    no1xsyzy
        13
    no1xsyzy  
       2021-08-11 09:23:38 +08:00
    你 http.server 然后同目录下加个 index.html 就行了
    只是 content-type 应该不能设置。
    vip2
        14
    vip2  
       2021-08-11 17:09:09 +08:00
    wsgiref , 或者手写 socket
    kkzxak47
        15
    kkzxak47  
       2021-08-11 19:17:46 +08:00 via Android
    http 就是个文本协议啊,你拿着 socket 按照 http 协议往里写文本内容就行了
    huluhulu
        16
    huluhulu  
       2021-08-14 23:02:20 +08:00
    @css3 继承 SimpleHTTPServer 修改一下,想返回啥返回啥. SimpleHTTPServer 帮你完成了基础的 http 服务,返回数据那里改成自己想要的就好了. 这是最最简单的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1037 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:15 · PVG 06:15 · LAX 14:15 · JFK 17:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.