記錄三種添加cookie保持接口登錄狀態(tài)的方法,方便自己回顧。
1.簡單粗暴式。
此方法比較小白,前提是已經(jīng)通過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,以供后續(xù)接口使用。
3.使用會話對象保持登錄---摘自網(wǎng)絡(luò)
import requests # Session 會話對象 # 會話對象讓你能夠跨請求保持某些參數(shù)。它也會在同一個 Session 實例發(fā)出的所有請求之間保持 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)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
