python3-request.session 的使用


requests.session 狀態進行狀態保持:

requests中的session類能夠自動處理發送請求獲取響應過程中產生的cookie。進而達到狀態保持的目的

 

request.session 的作用以及應用場景:

作用: 自動處理cookie,既下次請求會帶上前一次的cookie

應用場景: 自動處理連續多次請求過程中產生的cookie

 

request.session 的使用方法:

session實例在請求了一個網站后,對方服務器設置在本地的cookie會保存在session中,下一次使用session請求對方服務器的時候,會帶上前一次的cookie

示例代碼:

# coding=utf-8
import requests


def login():
    """
    用request.session模擬登錄一個網站,然后進行后續的操作
    """
    # 實例session
    session = requests.session()
    session.headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36'
    }

    url1 = 'https://github.com/login'
    # 發送請求,獲取響應
    res1 = session.get(url1).content.decode() # 登錄
    url2 = 'https://github.com/session'
    # 組裝form表單的數據
    data = {
        'commit': '登入',
        'authenticity_token': 'ivl8Ho7Ty2um4HnvcOySEwO4s2Vr \/ +iWBOzaeXFU0xQLcW6t17eZvNsDY7 \/ 4NkgB3eGXJoUGvCh814kduD8cOQ ==',
        'login': 'zs',
        'password': '123456',
        'trusted_device': 'webauthn - support: supported',
        'webauthn - iuvpaa - support': 'unsupported',
        'return_to': '',
        'allow_signup': '',
        'client_id': '',
        'integration': '',
        'required_field_1b99': '',
        'timestamp': '1612536784033',
        'timestamp_secret': '1df9e1f53fd5f59d35b19eda9849947e332a0676d74eca272521e3f4afb24c49'
    }
    session.post(url2, data=data) if __name__ == '__main__':
    login()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM