1. 程式人生 > 其它 >request庫之會話保持

request庫之會話保持

通過cookie 保持會話

import requests
'''
介面響應包含cookie 才能使用cookies 快速訪問,
cookie 實際存在respons 的headers 裡的Set-Cookie
Cookie 的返回物件為 RequestsCookieJar,它的行為和字典類似
'''

class test_demo:
        cookie = None

        def login(self):
                url = 'https://www.processon.com/login/quick_login'

                data 
= {'type': 'account_login', 'login_email': 15557548962, #賬戶密碼自行更改 'login_password': 'qa1234', } r = requests.request('post', url=url, data=data) test_demo.cookie=r.cookies def test_login(self): url
= 'https://www.processon.com/setting/account' r = requests.request('post',url=url,cookies=test_demo.cookie) print(r.json()) if __name__ == '__main__': t = test_demo() #通過賬戶密碼登入,獲取cookie後傳遞給下一個介面 t.login() #獲取到cookie進行下一步操作 t.test_login()

通過session保持會話

import requests,pytest


class Test_demo:
        session_a = requests.session()
        # session_a = requests.sessions.Session
        def test_login(self):
                url = 'https://www.processon.com/login/quick_login'
                data = {'type': 'account_login',
                        'login_email': 123456,
                        'login_password': '123456',
                        }
                r = Test_demo.session_a.request('post', url=url, data=data)
                print(r.json())
                print(r.cookies)
        
        def test_info(self):
                
        
                url = 'https://www.processon.com/setting/account'
        
                r = Test_demo.session_a.request('post',url=url)
                print(r.json())
                print(r.cookies)
                
                

if __name__ == '__main__':
        # t = Test_demo()
        # t.login()
        # t.test_login()
        pytest.main(['-vs','./request庫之cookie鑑權請求.py'])