記錄三種添加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)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

