首先,我定义了真实的入口
import requests # or urllib for post
...
@app.route('/logout', methods=['GET'])
def logout():
# forward the request to my interface
request_url = "http://{host}:{port}{url}".format(
host="127.0.0.1",
port=5000,
url=url_for("logout_ITF")
)
# post
response = requests.post(request_url, data={"method": "post"})
if response.content == "1":
return render_template('success.html')
else:
return render_template('fail.html')
接下来,我定义了界面
from flask import session
@app.route('/logout.do', methods=['POST'])
def logout_ITF():
if 'username' in session.keys():
session.pop('username')
return "1"
else:
return "0"
测试
此示例可能不具有代表性,只是为了说明在网站内部调用自身的界面。
在测试中,两个URL(/ logout没有发布,/ logout.do)可以通过分别测试来独立运行
但是,当我输入/ logout(带有帖子)时,requests.post被阻止了 ...