[英]Can login but can't pass other requests using "requests" module
我正在嘗試在站點上自動化 function。 我不知道為什么,但我可以登錄,但無法傳遞您需要登錄的任何請求。 如果需要任何額外的信息,我很樂意發布。
import requests as req
username = 'username'
password = 'password'
name = 'name1234'
def hd(_token, _site):
return {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0',
'X-CSRF-Token': _token,
'X-Requested-With': 'XMLHttpRequest',
'Origin': 'https://osu.ppy.sh',
'Referer': _site,
'Host': 'osu.ppy.sh'
}
with req.Session() as s:
r = s.get('https://osu.ppy.sh/')
token = r.cookies.get_dict()['XSRF-TOKEN']
site = 'https://osu.ppy.sh/session'
r1 = s.post(site, data={
'_token': token,
'username': username,
'password': password
}, headers=hd(token,site))
print(r1.status_code, r1.reason)
site = 'https://osu.ppy.sh/users/check-username-availability'
r2 = s.post(site, data={'username': name}, headers=hd(token,site))
print(r2.status_code, r2.reason, r2.text)
site = 'https://osu.ppy.sh/store/cart?add=1'
r3 = s.post(site, data={
'_token':token,
'item[product_id]':'32',
'item[quantity]':'1',
'item[cost]':'0',
'item[extra_info]':name}, headers=hd(token, site))
print(r3.status_code, r3.reason, r3.text)
output:
200 OK
403 Forbidden {"error":"Reload page and try again"}
403 Forbidden {"error":"Reload page and try again"}
你在檢查控制台或網絡選項卡上得到什么?
可能是網站使用不當。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.