python3请求400错误的请求

问题描述:

我试图登录与请求的网页,但我发现这个原因(400错误的请求)python3请求400错误的请求

我想要的是:与谷歌浏览

第一件事检查:

1img

2img

我的代码:

import requests 

from requests.packages.urllib3.exceptions import InsecureRequestWarning 

requests.packages.urllib3.disable_warnings(InsecureRequestWarning) 


headers = { 
    "Content-Type":"application/x-www-form-urlencoded", 
    "User-Agent" : "Mozilla/5.0", 
    "Referer": "https://doit.voicemail.centurylink.net/login", 
} 


data = { 
    "DirectoryNumber": "1234567890", 
    "Password": "1234567890", 
    "next": "/" 
} 

with requests.Session() as c: 

    response = c.post(url='https://doit.voicemail.centurylink.net/login', 
     headers=headers, 
     data=data, 
     verify=False) 

    print(response.history, response.url, response.status_code, response.reason) 

我该怎么做?

+0

也许你必须发送JSON?为此,使用json = data而不是data = data –

+0

@ D.Peter我也尝试(json = data)但是同样的事情。 400 Bad Request – hzf33362

我去你的网站,发现也许你需要的方式发送的数据是:

data = MultipartEncoder(
    fields=(
      ('DirectoryNumber', '1234567890'), 
      ('Password', '1234567890'), 
      ('next', '/') 
      ) 
    ) 

with requests.Session() as c: 

    response = c.post(url='https://doit.voicemail.centurylink.net/login', 
     headers=headers, 
     data=data, 
     verify=False) 

,也许它不是“下一个”,而是“redirectTo”,你必须指定

+0

Error:raise TypeError(repr(o)+“is not JSON serializable”) TypeError:不是JSON可串行化的 – hzf33362

+0

现在我用redirectTo替换:next。 现在我发现了新错误:[] https://doit.voicemail.centurylink.net/?error=invalidParameters 200 OK 使用:数据= { \t “DirectoryNumber”:“ 123456789" , \t‘密码’:‘123456789’, \t‘redirectTo’:‘’ } – hzf33362

+0

这是不是一个错误,我有这个在我的浏览器太 –