色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 實(shí)現(xiàn)Requests發(fā)送帶cookies的請(qǐng)求

瀏覽:6日期:2022-06-28 08:59:47
一、緣 起

最近學(xué)習(xí)【悠悠課堂】的接口自動(dòng)化教程,文中提到Requests發(fā)送帶cookies請(qǐng)求的方法,筆者隨之也將其用于手頭實(shí)際項(xiàng)目中,大致如下

二、背 景

實(shí)際需求是監(jiān)控平臺(tái)側(cè)下發(fā)消息有無(wú)異常,如有異常便觸發(fā)報(bào)警推送郵件,項(xiàng)目中下發(fā)消息接口需要帶cookies

三、說(shuō) 明

腳本的工程名為ynJxhdSendMsg,大致結(jié)構(gòu)如下圖

python 實(shí)現(xiàn)Requests發(fā)送帶cookies的請(qǐng)求

sendMsg.py為主程序,函數(shù)checkMsg為在已發(fā)消息列表中查找已下發(fā)消息,函數(shù)sendMsg為發(fā)消息并根據(jù)結(jié)果返回對(duì)應(yīng)的標(biāo)識(shí) sendAlertEmail.py為發(fā)送郵件程序,在sendMsg.py中根據(jù)不同標(biāo)識(shí)調(diào)用sendAlertEmail.py下的send_alert_email函數(shù)發(fā)報(bào)警郵件四、實(shí) 現(xiàn)

【重點(diǎn)】發(fā)請(qǐng)求之前先加載cookies,方法如下

~......~# 加載cookies# 第一步,引入RequestsCookieJar()coo = requests.cookies.RequestsCookieJar()# 第二步,設(shè)置cookies參數(shù),coo.set(’key’, ’value’)coo.set(’__utma’, ’82342229.1946326147.***.1545556722.1545556733.4’)coo.set(’JSESSIONID’, ’D898010550***ADB0600BF31FF’)# 第三步,引入seeeion(),并updatesess = requests.session()sess.cookies.update(coo)~......~

sendMsg.py

發(fā)送帶當(dāng)前時(shí)間戳的特定消息,在發(fā)送成功后便于通過(guò)時(shí)間戳檢索 函數(shù)checkMsg為在已發(fā)消息列表中查找已下發(fā)消息 函數(shù)sendMsg為發(fā)消息并根據(jù)結(jié)果返回對(duì)應(yīng)的標(biāo)識(shí) 導(dǎo)入sendAlertEmail模塊的send_alert_email方法,在sendMsg.py中根據(jù)不同標(biāo)識(shí)調(diào)用send_alert_email函數(shù)發(fā)報(bào)警郵件

#!/usr/bin/python# coding=utf-8# author: 葛木瓜# 2018.12.20import requestsimport timeimport reimport syssys.path.append(’./’)from sendAlertEmail import send_alert_emailnow = time.strftime(’%Y.%m.%d %H:%M:%S’) # 獲取當(dāng)前時(shí)間sendMsg_url = ’http://*.*.*.*/interactive/sendMessage.action’msgList_url = ’http://*.*.*.*/interactive/sendedMessageList.action’headers = { ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0’, ’Content-Type’: ’application/x-www-form-urlencoded’ }payload = { ’showFlag’: ’0’, ’type’: ’1’, ’fsnl’: ’on’, ’receiversId_’: ’63110542’, ’receiveName’: ’9705家長(zhǎng);’, ’content’: ’Test msg sending,time ’ + now, ’templateType’: ’1’, ’addTeachername’: ’0’, ’isGreed’: ’0’, ’send’: ’1’, ’startDayTime’: ’2018-12-20’, ’hourss’: ’22’, ’munit’: ’29’, ’selectRole’: ’2’, ’receiversIds’: ’63110542’, ’templateFlag’: ’0’}# 加載cookiescoo = requests.cookies.RequestsCookieJar()coo.set(’__utma’, ’82342229.1946326147.***.1545556722.1545556733.4’)coo.set(’JSESSIONID’, ’D898010550***ADB0600BF31FF’)sess = requests.session()sess.cookies.update(coo)def checkMsg(): ''' 在已發(fā)送短信列表檢查已發(fā)送短信 :return: ''' i = 1 while True: try: cm_resp = sess.get(msgList_url, headers=headers, allow_redirects=False) except Exception as e: return str(e) else: time.sleep(1) cm_key = re.findall(’Test msg sending,time33 ’ + now, cm_resp.text) i += 1 if i <= 30:if len(cm_key): break else:cm_key = [’More than 30 times,no result’]break print(’Request %d times’ % i) return cm_keydef sendMsg(): ''' send message :return: ''' try: resp = sess.post(sendMsg_url, headers=headers, data=payload, allow_redirects=False) except Exception as e: return str(e) else: if resp.status_code == 200: key = re.findall(’通知發(fā)送已成功’, resp.text) cm_key = checkMsg() # print(key, cm_key) if len(key) and len(cm_key):if cm_key[0] == ’Test msg sending,time ’ + now: return 200elif cm_key[0] == ’More than 30 times,no result’: return ’More than 30 times,no result’else: # print(’Check Msg connect fail:’ + str(cm_key)) return ’Check Msg connect fail: ’ + cm_key elif resp.status_code == 302: return 302 else: return resp.status_codeif __name__ == ’__main__’: receiver = [’**@***.com’] # 收件人郵件列表 status = sendMsg() print(status) if status == 200: alert_content = 'normal' print(’Test Success!’) elif status == ’More than 30 times,no result’: alert_content = '短信已發(fā)送,查詢已發(fā)狀態(tài)失敗!' elif ’Check Msg connect fail:’ in str(status): alert_content = '短信已發(fā)送,無(wú)法查詢已發(fā)狀態(tài),報(bào)錯(cuò)信息:%s' % status.split(’:’)[-1] elif status == 302: alert_content = 'Session失效,請(qǐng)重新獲取’JSESSIONID’!' else: alert_content = '短信下發(fā)失敗,報(bào)錯(cuò)信息:%s' % status if alert_content != 'normal': send_alert_email(receiver, alert_content)

sendAlertEmail.py,方法較常見(jiàn),此處略

五、最 后

完成以上,將腳本放在jenkins上定時(shí)構(gòu)建,即可實(shí)現(xiàn)實(shí)時(shí)監(jiān)控平臺(tái)側(cè)消息下發(fā)情況并及時(shí)反饋報(bào)警郵件的需求

以上就是python 實(shí)現(xiàn)Requests發(fā)送帶cookies請(qǐng)求的詳細(xì)內(nèi)容,更多關(guān)于python Requests發(fā)送帶cookies請(qǐng)求的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 毛片免费观看的视频在线 | 一区二区中文字幕亚洲精品 | 在线亚洲精品自拍 | 一级特色黄大片 | 日本aa级片 | 亚洲国产日韩综合久久精品 | 91精品久久一区二区三区 | 怡红院免费全部视频在线视频 | 中文字幕一区二区在线播放 | 男人的天堂精品国产一区 | 韩国毛片视频 | 日本一级爽毛片在线看 | 国内精品七七久久影院 | 九九九国产在线 | 亚洲视频 欧美视频 | 精品国产综合成人亚洲区 | 91在线精品亚洲一区二区 | 欧美一级高清片 | 亚洲精品国产精品一区二区 | 成年午夜性爽快免费视频不卡 | 国产精品九九九久久九九 | 99久久久免费精品免费 | 国产精品久久久久久久免费大片 | 国内一区 | 日本综合欧美一区二区三区 | 成人a毛片高清视频 | 欧美日韩国产一区二区三区在线观看 | 18性欧美69| 亚洲一区亚洲二区 | 毛片成人 | 欧美很黄视频在线观看 | 成人三级在线播放 | 午夜两性视频 | 91免费观看视频 | 91国内精品久久久久怡红院 | 欧美一级视频在线高清观看 | 爽爽爽爽爽爽a成人免费视频 | 9lporm自拍视频在线 | 男女午夜爱爱久久无遮挡 | 久久免费视频播放 | 欧美黄网在线 |