您好,登錄后才能下訂單哦!
記錄三種添加cookie保持接口登錄狀態的方法,方便自己回顧。
1.簡單粗暴式。
此方法比較小白,前提是已經通過fiddler抓包等方式拿到了cookie,然后直接塞進去。
import requests trainsUrl ='http://XXX.com/trains' headers = { "Content-Type":"application/json;charset=UTF-8", } cookies = { "XXXthor":"XXXXXX105a42" } prames = { 'depId':'1', 'arrId':'2', 'goDate':'XXXX' } res = requests.get(url=trainsUrl, cookies=cookies, params=prames, headers=headers).json()
2.從登錄接口獲取
import requests loginUrl ="http://XXX.com/login" data1 = { "userName":"157XXXX", "userPwd":"XXXX" } headers = { "Content-Type":"application/json;charset=UTF-8" } #運行登錄接口 loginRes = requests.post(url=loginUrl, json=data1, headers=headers) trainsUrl ='http://XXX.com/trains' parames = { 'depId':'1', 'arrId':'2', 'goDate':'1538100286000' } #運行trainsUrl接口時,從loginRes中獲取cookies res = requests.get(url=trainsUrl, params=parames, cookies=loginRes.cookies).json()
這種方式是先運行登錄接口,然后從loginRes中獲取cookies,以供后續接口使用。
3.使用會話對象保持登錄---摘自網絡
import requests # Session 會話對象 # 會話對象讓你能夠跨請求保持某些參數。它也會在同一個 Session 實例發出的所有請求之間保持 cookie # 會話對象具有主要的 Requests API 的所有方法。你可以當成 Request去使用 sessionRequest = requests.session() #實例化會話對象 loginUrl ="http://XXX.com/login" data = { "userName":"157XXXX", "userPwd":"XXX" } headers = { "Content-Type":"application/json;charset=UTF-8" } #第二次請求的url trainsUrl ='http://XXX/trains' parames = { 'depId':'1', 'arrId':'2', 'goDate':'XXXXX' } #登錄 resp = sessionRequest.post(url=loginUrl , json=data, headers=headers) #請求trains接口 trainsResp = sessionRequest.get(url=trainsUrl, params=parames)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。