用户模拟登录

模拟登陆:
1. 用户输入帐号密码进行登陆
2. 用户信息保存在文件内
3. 用户密码输入错误三次后锁定用户

代码:

#Author:hejianping#2017-04-20import getpassuserfile = open(‘userfile.txt‘,‘r‘)userdict = {}new_userlist = []

for line in userfile.readlines():    userlist = line.strip().split(‘:‘)       #移除字符串头尾的空格并且以:号为分隔符切片后生成列表    _username = userlist[0].strip()       #从生成的列表中里边中取第一个参数用户名的值    _passwd = userlist[1].strip()         #从生成的列表中里边中取第二个参数密码的值    _lockcount= int(userlist[2].strip())    #从生成的列表中里边中取第三个参数锁定次数的值,格式化整数    #使用字典函数让每个用户名生成一个对应的列表:    userdict[_username] = {‘name‘:_username,‘pwd‘:_passwd,‘lockcount‘:_lockcount}    #print(userdict[_username]) #打印用userfile.txt文件信息

count = 0while count < 3:    username = input("请输入您的用户名:")    #判断用户是否存在:    if username not in userdict.keys():   #userdict.keys()代表返回userdict字典所有的键值.        print("用户不存在!")        break    elif userdict[username][‘lockcount‘] < 3:        password = getpass.getpass("请输入密码:")        if password == userdict[username][‘pwd‘].strip():            print("Welcome user {name} login successfully!" .format(name=username))            break        else:            count += 1            userdict[username][‘lockcount‘] += 1      #错误锁定次数加1            userfile = open(‘userfile.txt‘, ‘w+‘)            for change in userdict.values():                #错误次数更新后的列表,需要把参数格式化为字符串:                new_userlist = [str(change[‘name‘]),str(change[‘pwd‘]),str(change[‘lockcount‘])]                colon = ":"   #冒号                new_userlist_colon = colon.join(new_userlist)  #使用冒号连接序列中元素并生成新的字符串new_userlist_colon                userfile.write(new_userlist_colon + "\n")

if count == 3:                print("密码输错达到3次,锁定用户并退出!")                break

#判断用户为锁定直接退出    else:        print("该用户已经被锁定!无法登陆!")        break

userfile.close()

程序流程图

				
时间: 2024-10-08 05:29:05

用户模拟登录的相关文章

【CURL】模拟登录网站并获取用户信息

模拟登录网站并获取用户信息 前言 这次来做的是通过代码的方式,模拟登录秒拍官网,获取登录用户的信息. 前后端分离 本文的标题是CURL,传统的网站是PHP代码直接渲染项目视图,通过表单提交到控制器直接进行数据操作. 传统模拟登录的方式在页面上找到表单元素,直接进行模拟表单提交. 近两年前端技术趋于完善,实现了前后端分离. 分析页面元素 秒拍官网地址 http://www.miaopai.com/ 通过审查元素以及源代码查找,在本页面并没有form标签,由此推断页面是通过js进行提交的. 查找提交

.NET微信模拟登录及{base_resp:{ret:-4,err_msg:nvalid referrer}}的解决办法

12年的时候写了些关于微信开发的内容,当时看好这个东西,可惜当时腾讯开放的权限太少,之后的一年多时间没有太关注了. 现在又要重新开始微信开发的阵容了,微信只是个入口,微网站才是趋势. 我是个水货,所以写的都是比较入门的,给初学者点启发用的. 这里有3个文件,一个页面展示(不贴代码了,就两个文本框和提交按钮)和后台代码,一个方法类,一个实体类 后台代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 protected void btnConfirm_Click(

C#使用tesseract3.02识别验证码模拟登录

一.前言 使用tesseract3.02识别有验证码的网站 安装tesseract3.02 在VS nuget 搜索Tesseract即可. 二.项目结构图 三.项目主要代码 1 using System; 2 using System.Collections.Concurrent; 3 using System.Collections.Generic; 4 using System.Diagnostics; 5 using System.Drawing; 6 using System.IO;

curl 模拟登录微信公众平台带验证码

这段时间一直写个项目, 从切图到前端到后台都要搞定,真tm累. 今天下午手残,不停用错误的密码去模拟登录微信公众平台,结果后来出现验证码,瞬间悲剧(菜鸟从来没搞过带验证码的). 研究了一下,发现其实很简单,直接把生成的二维码图片拉过来,让用户自己输入,再提交一遍表单即可.其实中间还是有些坑,比如生成验证码的时候,要把cookie保存下,登录的时候要带上这个cookie,要不然会总是提示需要验证码. 客户端: 1 <body> 2 <form> 3 <p><inpu

.net模拟登录博客园,使用httpWebRequest登录并发布随笔文章

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using System.Runtime.InteropServices; using System.Diagnostics; namespace TestHttpWebRequest { class Program { [DllImport("winine

C# 实现模拟登录功能,实现公共类分享。

前言 最近在研究模拟登录的各种方法, 主要想要实现的两个功能是: 1.点击按钮可以直接跳转并登录到某一个系统中. 2.抓取某一个系统中某一个页面中的特定数据. 为此在网上查了许多的资料,首先了解到自身对http协议基础知识的欠缺,初步了解后,明白想要实现模拟登录首先要学会抓包这一项基本的技能,关于抓包这里就不详细介绍了,向大家推荐一款软件fiddler,一款不错的抓包软件. 首先客户端向服务端请求无非两种类型get或post,所以我们要了解在登录某一个系统时post的地址,以及需要post的参数

python RSA加密解密及模拟登录cnblog

1.公开密钥加密 又称非对称加密,需要一对密钥,一个是私人密钥,另一个则是公开密钥.公钥加密的只能私钥解密,用于加密客户上传数据.私钥加密的数据,公钥可以解密,主要用于数字签名.详细介绍可参见维基百科. 2.RSA加密算法 RSA加密属于非对称加密.RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥.维基百科中对RSA算法的安全性进行说明:RSA加密算法 "对极大整数做因式分解的难度决定了RSA算法的可靠性.换言

HttpWebRequest 模拟登录响应点击事件(开源自己用的HttpHelper类)

平时也经常采集网站数据,也做模拟登录,但一般都是html控件POST到页面登录:还没有遇到用户服务器控件button按钮点击事件登录的,今天像往常一样POST传递参数,但怎么都能登录不了:最后发现还有两个参数需要传,__EVENTVALIDATION和__VIEWSTATE 在传的过程中需要对参数值进行URL编码 System.Web.HttpUtility.UrlEncode(value) 模拟登录代码:在本地写的一个测试的网站来模拟登录,原理都一样: Request request = ne

PHP模拟登录并获取数据

cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数,开发者可以从PHP手册中获取更多关于cURL信息.本文以模拟登录开源中国(oschina)为例,和大家分享cURL的使用. PHP的curl()在抓取网页的效率方面是比较高的,而且支持多线程,而file_get_contents()效率就要稍低些,当然,使用curl时需要开启下curl扩展. 代码实战先来看登录部分的代码:```//模拟登录 f