python3.7中驗證是否登錄成功的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

十多年的巍山網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整巍山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“巍山網(wǎng)站設計”,“巍山網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

這篇文章主要介紹python3.7中驗證是否登錄成功的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

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代碼,用來判斷結果
    '''
    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)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!

分享題目:python3.7中驗證是否登錄成功的方法-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article18/dsgddp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)站改版、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站