python接口自動化(十四)--session關聯接口(詳解)

簡介

  上一篇cookie繞過驗證碼模擬登陸博客園,但這只是第一步,通常登陸後,還會有其它的操做,如發帖,評論等等,這時候如何保持會話呢?這裏我以jenkins平臺爲例,給小夥伴們在沙場演練一下。python

session簡介

一、經過help方法查看幫助文檔,截圖一部分,後面省略了,有興趣的本身能夠敲一下看看正則表達式

二、參考代碼json

1 # coding:utf-8
2 import requests
3 help(requests.session())複製代碼

使用session登陸

一、使用session登陸只需在登陸的基礎上稍作修改,便可bash

二、參考代碼微信

# 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'))複製代碼

保存編輯

一、先打開新建任務,手動輸入任務名稱和選擇下邊選項後,打開fiddler抓包,而後點擊「肯定」cookie

fiddler抓包session

二、把body的參數內容寫成字典格式post

參考代碼:學習

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 }複製代碼

三、用上面登陸保存的session繼續發送post請求,來新建任務ui

四、執行後,查看全部任務就多了一條新增的了

五、運行結果部分截圖:

六、粘貼到記事本修改後綴查看:

參考代碼

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 # 正則表達式提取帳號和登陸按鈕
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 #新建任務
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'))複製代碼

這裏我是用新建任務寫的案例,小夥伴能夠試下Jenkins裏邊其餘的關聯接口

小結

小夥伴都看到了吧,session關聯接口就是這麼簡單!!!趕快動起來吧。想要學習的小夥伴能夠用博客園來練習一下,遇到問題歡迎打擾和溝通!

爲了方便你們在移動端也能看到我分享的博文,現已註冊我的微信公衆號,掃描左下方二維碼便可,歡迎你們關注,有時間會及時分享相關技術博文。

爲了方便你們互動討論相關技術問題,現已組建專門的微信羣,因爲微信羣滿100,請您掃描右下方宏哥我的微信二維碼拉你進羣
(請務必備註:進羣)
,歡迎你們加入這個你們庭,咱們一塊兒暢遊知識的海洋。

感謝您花時間閱讀此篇文章,若是您以爲這篇文章你學到了東西也是爲了犒勞下博主的碼字不易不妨打賞一下吧,讓博主能喝上一杯咖啡,在此謝過了!
若是您以爲閱讀本文對您有幫助,請點一下左下角 「推薦」按鈕,您的
「推薦」
將是我最大的寫做動力!另外您也能夠選擇 關注我,能夠很方便找到我!
本文版權歸做者和博客園共有,來源網址: www.cnblogs.com/du-hong 歡迎各位轉載,可是未經做者本人贊成,轉載文章以後必須在文章頁面明顯位置給出做者和原文鏈接,不然保留追究法律責任的權利!
我的微信公衆號 我的微信
相關文章
相關標籤/搜索