創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
十多年的巍山網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整巍山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“巍山網(wǎng)站設(shè)計(jì)”,“巍山網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。這篇文章主要介紹python3.7中驗(yàn)證是否登錄成功的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
python中驗(yàn)證是否登錄成功的方法:
#!/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): ''' 登錄,取得登陸后的頁(yè)面html代碼,用來(lái)判斷結(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): ''' 校驗(yàn)信息是否正確 ''' for line in l: if k.match(line): return True break return False def verify_all(): ''' 主程序,進(jìn)行校驗(yàn) ''' 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(): ''' 出錯(cuò)之后的notify操作 ''' pass if __name__ == '__main__': verify_all()
v_account定義了多個(gè)賬戶,因?yàn)橛脩艨赡懿煌?,后臺(tái)機(jī)制不一樣,所以用多個(gè)用戶來(lái)登錄
request = urllib2.Request( loginurl , qstring ) 用的是post的方法,也可以用get的方法。
ClientCookie,一個(gè)python的擴(kuò)展包
2個(gè)v_account里的vkey用來(lái)和登陸后的頁(yè)面上的信息來(lái)驗(yàn)證是否正常登錄的
socket.setdefaulttimeout用來(lái)設(shè)置建立socket連接的超時(shí)設(shè)置,原來(lái)沒(méi)有設(shè)置,程序會(huì)一直等待回應(yīng)(如果服務(wù)器端做了最長(zhǎng)運(yùn)行時(shí)間會(huì)好點(diǎn)),設(shè)置了10秒,如果一個(gè)登錄程序10秒還沒(méi)有成功,基本上就失敗了。
e_notify:可以自己設(shè)置一些notify的方法,比如郵件,短消息等。
以上是python3.7中驗(yàn)證是否登錄成功的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
分享題目:python3.7中驗(yàn)證是否登錄成功的方法-創(chuàng)新互聯(lián)
瀏覽路徑:http://jinyejixie.com/article18/dsgddp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、動(dòng)態(tài)網(wǎng)站、網(wǎng)站改版、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容