我正在尝试使用Python 3中的请求登录网站。 不幸的是我无法做到。
这是我从登录请求获得的信息:
响应标题:
Cache-Control:no-cache
Connection:close
Content-Encoding:gzip
Content-Type:application/json
请求标题:
Accept:application/json, text/plain, */*
Content-Type:application/json;charset=UTF-8
Referer:fffff
请求有效负载:
{email: "xxx", password: "yyy", _token: "zzz"}
我的代码:
with requests.Session() as x:
url = 'website'
USERNAME = "xxx"
PASSWORD = "yyy"
token = "zzz"
x.get(url)
x.post(url, data={'email': USERNAME, 'password': PASSWORD, '_token':token},
headers={'Referer':"fffff"})
page = x.get("some_page_I_have_access_after_login")
print(page.content)
上次'打印'的唯一结果是'请登录....'
你能帮帮我吗?
编辑:
我已将代码更改为:
url = 'url'
USERNAME = "xxx"
PASSWORD = "yyy"
token = "fff"
headers = {'Content-type': 'application/json', 'Accept': 'text/plain', 'Referer':'cccc'}
data = {'email': USERNAME, 'password': PASSWORD, '_token':token}
x = requests.get(url)
w = requests.post(url, data=data, headers=headers)
print(w.status_code)
page = requests.get("some_url_I_want_access")
page.raise_for_status()
现在我有明确的身份。 对于w(登录操作),我的状态为200。 还有一个问题,因为当我更改了用户名时,我仍然有200,这意味着我无法登录。
对于页面我得到:401客户端错误:未经授权的网址:“some_url_I_want_access”
答案 0 :(得分:0)
试试这个:
Frame