【问题标题】:Python POST requests return with "Response 400"Python POST 请求返回“响应 400”
【发布时间】:2019-10-09 15:41:13
【问题描述】:

我正在尝试通过使用方法请求 POST 登录网站。

ssn = requests.session()
data = {"LoginForm[email]":"gmail@gmail.com", "LoginForm[password]":"pw12345", "LoginForm[rememberMe]":0}
r = ssn.post("https://www.fshare.vn/site/login", data = data)
print(r.json)

# bound method Response.json of <Response [400]>

据我所知,我在数据中遗漏了一个名为“csrf-app”的值: HTTP Header POST : _csrf-app=gXvuYHZnQpoA37zC1Yncpb1BMstVUqRcVdj9x1QHJqK1AoYoHlUV21G9jaya0Jjy9iJRrz1_nRIft4ywO0RD-g==&LoginForm[email]=gmail@gmail.com&LoginForm[password]=pw12345&LoginForm[rememberMe]=0

那么如何获取这个值 ""csrf-app" 以将其与其他数据一起发布?

【问题讨论】:

    标签: python python-3.x python-requests http-post


    【解决方案1】:

    CSRF 用于避免有人在没有表单的情况下调用 API。 您可以参考此post 了解更多信息。您应该寻找他们的登录 REST API,看看他们是否有。

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 2017-09-25
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多