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