【问题标题】:Flask check where a request comes fromFlask 检查请求的来源
【发布时间】:2015-07-17 21:31:13
【问题描述】:
我是 flask 的新手,正在尝试找出某些 HTTP 请求的来源。我有一个 API 向我的服务器发送请求,我需要验证它是我的 API,而不是一些随机帖子。如何检查 HTTP 请求的来源?
【问题讨论】:
标签:
python
http
heroku
flask
【解决方案1】:
Flask 的request 对象包含remote_addr,即客户端的地址。或者,request 还包含 WSGI environ 字典,它在 PEP 033 中定义。在 environ 字典中,有一个包含相同数据的 REMOTE_ADDR 键:
request.remote_addr
request.environ['REMOTE_ADDR']
如果您担心您可能会从该 IP 地址获取数据,但您仍想区分您的 API 和其他来源,您可以在 API 的请求中包含另一个标头并通过请求对象访问它
request.headers.get(header_name)