• 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()
  • 相关阅读:
    一本通1621轻拍牛头
    2.23模拟赛
    一本通1618越狱
    P2280 [HNOI2003]激光炸弹
    P4513 小白逛公园
    P2165 [AHOI2009]飞行棋
    P1877 [HAOI2012]音量调节
    P2023 [AHOI2009]维护序列
    P2253 好一个一中腰鼓!
    P2434 [SDOI2005]区间
  • 原文地址:https://www.cnblogs.com/happyflyingpig/p/14380157.html
Copyright © 2020-2023  润新知