国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python常见问题 > python3.7怎么验证是否登录成功?

python3.7怎么验证是否登录成功?

头像

yang

2020-05-30 10:08:314021浏览 · 0收藏 · 0评论

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的方法,比如邮件,短消息等。

更多Python知识请关注Python自学网

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

陌陌影视在线观看高清完整版| 秘书(高干)笔趣阁小说推荐| 憋尿白丝小肚子凸起高冷知乎| 人狗大战6免费观看正版| 女生给男生吃小头头| 医生一直揉白带湿漉漉的正常吗| 美女图片| 日本CSGO大姐姐AWP| 电影《满足2》完整版在线观看| 黄篇| 星空无痕MV免费视频观看| 老公让我把B扒开他日| 旅游换伴交流故事100篇| 蜜桃浏览器| 《黑人性奴2》免费观看| 两个男人睡一个女人什么心理呢| 《巨大荫蒂》免费| 欧美片《肉欲进入》| 《淫毛》在线观看免费| 女性扒开大腿内侧小肚子痒| 男生困困进女生困困洞视频| 双乳被四个男人吃奶H文| 王叔我老公还在客厅呢什么小说 | 女神开档泳装图片| EXO妈妈MV高清免费观看| 王丽娟一夜被躁五次| 老头跪在两腿之间吃奶| 久旱逢甘霖(父女)笔端| 蜜桃成熟时李慧珍演的| 真人做爰45分钟| 《酒店激战》动漫1-5集免费观. | 妻子的姐姐免费观看大全电视剧| SNH48欧洲码和亚洲码图片| 星空无限传媒免费观看电视剧| 宝~才三根手指就不行啦| 欧式少女16集全免费观看电视剧 | 《厨房韵母2》动漫下线了吗| 美女跳舞| 洪真英| 边添小流边狠狠躁69集| 妻子的秘密韩剧大全免费