发送POST请求时,如何解决收到的错误请求响应?

时间:2018-12-20 18:48:25

标签: python python-requests

我正在尝试使用python(请求)登录网站,并不断收到400错误的请求错误。

我尝试了不同的标头格式,甚至从不同的浏览器(Chrome,Edge,Firefox)复制了标头,但我总是遇到400错误。

我尝试浏览,但是找不到任何可以帮助我的东西。

import requests

with requests.Session() as c:
    url = 'https://developer.clashofclans.com/api/login'
    e='xxx@xxx.xxx'
    p='yyyyy'

    header = {'authority': 'developer.clashofclans.com',
                'method': 'POST',
                'path': '/api/login',
                'scheme': 'https',
                'accept': '*/*',
                'accept-encoding': 'gzip, deflate, br',
                'accept-language': 'en-IN,en-US;q=0.9,en;q=0.8',
                'content-length': '57',
                'content-type': 'application/json',
                'cookie': 'cookieconsent_status=dismiss',
                'origin': 'https://developer.clashofclans.com',
                'referer': 'https://developer.clashofclans.com/',
                'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
                'x-requested-with': 'XMLHttpRequest'}
    login_data = dict(email=e,password=p)
    x = c.post(url,data=login_data,headers=header)
    print(x)

1 个答案:

答案 0 :(得分:0)

某些网站希望数据为json格式。在请求中,您可以使用json参数轻松完成此操作,因此您的代码将如下所示: python x = c.post(url, json=login_data, headers=header)