Python请求返回403

时间:2017-12-21 06:06:27

标签: python flask python-requests httplib2

所以,我一直在开发一个小瓶子应用程序。我已经能够从Web表单调用activate方法,但我正在尝试使用python请求库发布到它并继续获取403(没有使用身份验证)。

但是当我使用httplib2发布它时,它突然起作用了。这里有什么我想念的吗?

import httplib2 
import requests

http = httplib2.Http()
content = http.request('http://127.0.0.1:5000/services/activate', method="POST")

print content

res = requests.post('http://127.0.0.1:5000/services/activate')

print res

给我输出:

({'status': '200', 'content-length': '20', 'server': 'Werkzeug/0.12.2 Python/2.7.12', 'date': 'Thu, 21 Dec 2017 05:55:20 GMT', 'access-control-allow-origin': '*', 'content-type': 'application/json'}, '{\n  "status": "ok"\n}')
<Response [403]>

1 个答案:

答案 0 :(得分:0)

如果您可以发布所有相关代码,那就太棒了。但总的来说 -

如果使用FlaskForm,您的HTML应如下所示:

<form action="{{url_for('activate') }}" method = "post">
    {{ form.csrf_token }}
    <!-- other form stuff -->
</form>

其他,

 <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>

来自:http://flask-wtf.readthedocs.io/en/stable/csrf.html