zoukankan      html  css  js  c++  java
  • python实现简单http服务器

    flask是python的web框架,虽然简单,功能很强大

    #!flask/bin/python
    from flask import Flask, redirect, url_for, request, render_template, make_response
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        return "Hello, World!"
    
    
    # 映射/hello
    @app.route('/doSync')
    def index():
        path = request.args.get("path")
        return path
    
    
    # 动态URL
    @app.route('/hello/<name>')
    def hello_name(name):
        return 'Hello %s!' % name
    
    
    @app.route('/blog/<int:postID>')
    def show_blog(postID):
        return 'Blog Number %d' % postID
    
    
    @app.route('/rev/<float:revNo>')
    def revision(revNo):
        return 'Revision Number %f' % revNo
    
    
    @app.route('/admin')
    def hello_admin():
        return 'Hello Admin'
    
    
    @app.route('/guest/<guest>')
    def hello_guest(guest):
        return 'Hello %s as Guest' % guest
    
    
    # 请求转发
    @app.route('/user/<name>')
    def hello_user(name):
        if name == 'admin':
            return redirect(url_for('hello_admin'))
        else:
            return redirect(url_for('hello_guest', guest=name))
    
    
    # post方法
    @app.route('/login', methods=['POST', 'GET'])
    def login():
        if request.method == 'POST':
            user = request.form['nm']
            return redirect(url_for('success', name=user))
        else:
            user = request.args.get('nm')
            return redirect(url_for('success', name=user))
    
    
    # 返回HTML网页
    @app.route('/')
    def student():
        return render_template('student.html')
    
    
    @app.route('/result', methods=['POST', 'GET'])
    def result():
        if request.method == 'POST':
            result = request.form
            return render_template("result.html", result=result)
    
    
    @app.route("/set_cookies")
    def set_cookie():
        resp = make_response("success")
        resp.set_cookie("w3cshool", "w3cshool", max_age=3600)
        return resp
    
    
    # 处理cookie
    @app.route("/get_cookies")
    def get_cookie():
        cookie_1 = request.cookies.get("w3cshool")  # 获取名字为Itcast_1对应cookie的值
        return cookie_1
    
    
    @app.route("/delete_cookies")
    def delete_cookie():
        resp = make_response("del success")
        resp.delete_cookie("w3cshool")
    
        return resp
    
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', debug=True)

    python3 script.py即可启动

    如果生产环境还是建议使用Nginx

  • 相关阅读:
    SVN 部署(基于 Linux)
    禅道部署(基于 Linux)
    MySQL 中文乱码问题
    设置 Linux 支持中文
    SQL 文件导入数据库
    虚拟 IP 设为静态 IP
    python selenium(定位方法)
    python selenium(环境搭建)
    「杂谈」苏州人不能太膨胀
    「SAP技术」如何看Z移动类型是复制哪个标准移动类型而创建的?
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/14951072.html
Copyright © 2011-2022 走看看