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

  • 相关阅读:
    UVA 408 (13.07.28)
    linux概念之用户,组及权限
    Java实现 蓝桥杯 历届试题 网络寻路
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 九宫重排
    Java实现 蓝桥杯 历届试题 九宫重排
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/14951072.html
Copyright © 2011-2022 走看看