python接口自动化(十四)--session关联接口(详解)
簡介
上一篇cookie繞過驗(yàn)證碼模擬登錄博客園,但這只是第一步,一般登錄后,還會有其它的操作,如發(fā)帖,評論等等,這時候如何保持會話呢?這里我以jenkins平臺為例,給小伙伴們在沙場演練一下。
session簡介
1、通過help方法查看幫助文檔,截圖一部分,后面省略了,有興趣的自己可以敲一下看看
2、參考代碼
1 # coding:utf-8 2 import requests 3 help(requests.session())使用session登錄
1、使用session登錄只需在登錄的基礎(chǔ)上稍做修改,即可
?
2、參考代碼
# coding:utf-8 import requests # 先打開登錄首頁,獲取部分session url = "http://localhost:8080/jenkins/j_acegi_security_check" headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"} # get方法其它加個ser-Agent就可以了 d = {"j_username": "admin","j_password": "111111","from": "","Submit": u"登錄","remember_me": "on"} s = requests.session() r = s.post(url, headers=headers, data=d) #print (r.content.decode('utf-8'))保存編輯
1、先打開新建任務(wù),手動輸入任務(wù)名稱和選擇下邊選項后,打開fiddler抓包,然后點(diǎn)擊“確定”
fiddler抓包
2、把body的參數(shù)內(nèi)容寫成字典格式
?
參考代碼:
1 body = {"name":"北京-宏哥1", 2 "mode": "hudson.model.FreeStyleProject", 3 "Jenkins-Crumb":"51a97fc7fbf3792823230d9bdd7ec906", 4 "json":{"name":"北京-宏哥1", 5 "mode": "hudson.model.FreeStyleProject", 6 "Jenkins-Crumb":"51a97fc7fbf3792823230d9bdd7ec906" 7 8 } 9 }3、用上面登錄保存的session繼續(xù)發(fā)送post請求,來新建任務(wù)
?
4、執(zhí)行后,查看所有任務(wù)就多了一條新增的了
?
5、運(yùn)行結(jié)果部分截圖:
6、粘貼到記事本修改后綴查看:
參考代碼
1 # coding:utf-8 2 import requests 3 # 先打開登錄首頁,獲取部分session 4 url = "http://localhost:8080/jenkins/j_acegi_security_check" 5 headers = { 6 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0" 7 } # get方法其它加個ser-Agent就可以了 8 d = {"j_username": "admin", 9 "j_password": "111111", 10 "from": "", 11 "Submit": u"登錄", 12 "remember_me": "on" 13 } 14 15 s = requests.session() 16 r = s.post(url, headers=headers, data=d) 17 #print (r.content.decode('utf-8')) 18 # 正則表達(dá)式提取賬號和登錄按鈕 19 import re 20 t = re.findall(r'<b>(.+?)</b>', r.content.decode('utf-8')) # 用python3的這里r.content需要解碼 21 print (t[0]) 22 print (t[1]) 23 #新建任務(wù) 24 url1 = "http://localhost:8080/jenkins/createItem" 25 body = {"name":"北京-宏哥1", 26 "mode": "hudson.model.FreeStyleProject", 27 "Jenkins-Crumb":"51a97fc7fbf3792823230d9bdd7ec906", 28 "json":{"name":"北京-宏哥1", 29 "mode": "hudson.model.FreeStyleProject", 30 "Jenkins-Crumb":"51a97fc7fbf3792823230d9bdd7ec906" 31 32 } 33 } 34 35 r2 = s.post(url1, data=body, verify=False) 36 print (r2.content.decode('utf-8'))這里我是用新建任務(wù)寫的案例,小伙伴可以試下Jenkins里邊其他的關(guān)聯(lián)接口
小結(jié)
小伙伴都看到了吧,session關(guān)聯(lián)接口就是這么簡單!!!趕快動起來吧。想要學(xué)習(xí)的小伙伴可以用博客園來練習(xí)一下,遇到問題歡迎打擾和溝通!
轉(zhuǎn)載于:https://www.cnblogs.com/du-hong/p/10648716.html
總結(jié)
以上是生活随笔為你收集整理的python接口自动化(十四)--session关联接口(详解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch--nn.Sequenti
- 下一篇: 阿里云服务器ubuntu14.04安装R