簡體   English   中英

可以登錄但不能使用“請求”模塊傳遞其他請求

[英]Can login but can't pass other requests using "requests" module

我正在嘗試在站點上自動化 function。 我不知道為什么,但我可以登錄,但無法傳遞您需要登錄的任何請求。 如果需要任何額外的信息,我很樂意發布。

  1. /會議
  2. /users/check-username-availability
  3. /store/cart?add=1
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM