這篇文章主要介紹python3.7中驗證是否登錄成功的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站設計制作、成都網(wǎng)站建設、金門網(wǎng)絡推廣、成都小程序開發(fā)、金門網(wǎng)絡營銷、金門企業(yè)策劃、金門品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供金門建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:muchs.cn
python中驗證是否登錄成功的方法:
#!/usr/bin/env python # -*- coding: gbk -*- import urllib import urllib2 import ClientCookie import re import string import time import socket timeout=10 server="www.juyimeng.com" loginurl="http://"+server+"/login.php" v_account=[ {"name":"user1","pass":"pass1","utype":"1","vkey":"用戶1"}, {"name":"user2","pass":"pass2","utype":"2","vkey":"用戶2"} ] def fes_write(s): ''' 控制輸出信息的顯示 ''' print s def get_response(x): ''' 登錄,取得登陸后的頁面html代碼,用來判斷結(jié)果 ''' fes_write("login for "+ x["name"]) eform = {'username':x["name"], 'password':x["pass"], 'usertype':x["utype"]} qstring = urllib.urlencode( eform ) #print qstring try: request = urllib2.Request( loginurl , qstring ) response = ClientCookie.urlopen( request ) return string.split( response.read(),"\n") except Exception, e: fes_write(e) return "error" def verify_info(k,l): ''' 校驗信息是否正確 ''' for line in l: if k.match(line): return True break return False def verify_all(): ''' 主程序,進行校驗 ''' if timeout!=0: socket.setdefaulttimeout(timeout ) fes_write("socket time out: " + str(socket.getdefaulttimeout())) success_num=len(v_account) for x in v_account: vkey=re.compile('.*'+x["vkey"]+'.*') if verify_info(vkey,get_response(x))==True: success_num=success_num-1 fes_write(x["name"]+ " login success!") else: fes_write("error when " + x["name"]+ "login!") if success_num==0: fes_write("all things runs well!") else: e_notify() fes_write("some thing is wrong!") def e_notify(): ''' 出錯之后的notify操作 ''' pass if __name__ == '__main__': verify_all()
v_account定義了多個賬戶,因為用戶可能不同,后臺機制不一樣,所以用多個用戶來登錄
request = urllib2.Request( loginurl , qstring ) 用的是post的方法,也可以用get的方法。
ClientCookie,一個python的擴展包
2個v_account里的vkey用來和登陸后的頁面上的信息來驗證是否正常登錄的
socket.setdefaulttimeout用來設置建立socket連接的超時設置,原來沒有設置,程序會一直等待回應(如果服務器端做了最長運行時間會好點),設置了10秒,如果一個登錄程序10秒還沒有成功,基本上就失敗了。
e_notify:可以自己設置一些notify的方法,比如郵件,短消息等。
以上是python3.7中驗證是否登錄成功的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當前標題:python3.7中驗證是否登錄成功的方法
轉(zhuǎn)載源于:http://muchs.cn/article4/gddeie.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、微信公眾號、網(wǎng)站導航、移動網(wǎng)站建設、手機網(wǎng)站建設、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)