Python请求返回403

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python请求返回403相关的知识,希望对你有一定的参考价值。

所以,我一直在开发一个小瓶子应用程序。我已经能够从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'}, '{
  "status": "ok"
}')
<Response [403]>
答案

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

如果使用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

以上是关于Python请求返回403的主要内容,如果未能解决你的问题,请参考以下文章

Django 在发送 POST 请求时返回 403 错误

Python 请求 403 启用 Cookie

httpclient 调用 python 服务 403 重定向到 80

如何解决请求的 URL 返回错误:git 存储库中的 403

c# Httpclient 请求在 Windows 10 上工作正常返回 403 在 Windows 7 上被禁止(相同的代码)

apache在发布请求时返回403错误,输入变量计数保持不变,值发生变化