一、分析
1.用第三方操作数据库的pymysql库从数据库取出100条数据
2.requests请求登录操作
二、代码
1.代码
import pymysql
import requests
class LoginBatch():
"""数据库连接信息"""
def __init__(self):
self.connect = pymysql.connect(
host = "192.xxx.x.xx",
database = "xxxxx",
user = "xxx",
password = "xxx"
)
"""从数据库取100个用户"""
def get_data(self):
cursor = self.connect.cursor()
sql = "select userAccount from t_sys_user where userAccount like 'w0%'; "
cursor.execute(sql)
self.result = cursor.fetchall() # 获取到查询的结果
cursor.close()
self.connect.commit()
self.connect.close()
return self.result
"""100个用户进行登录操作"""
def login_100per(self):
headers = {
"Origin": "http://192.168.1.9:8080",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
}
url = "http://192.168.1.9:8080/SSOAuth?action=login&code=undefined&gotoURL=http%3A%2F%2F192.168.1.9%3A8080%2Fportal%2Fgeoindex.do"
for da in self.result: # result 是一个元组,遍历取出da为长度为1的元组
data = da[0] # da[0]取出第一个为登录账号(不会写的多写几个print看一下就明白了)
login_data = {"userAccount": data, "pwd": "b123456"}
login_data1 = {
"data": "%s" % login_data
}
r = requests.post(url, headers=headers, data=login_data1)
print(r.json()["msg"]) # 返回的数据是json格式可以直接输出
if __name__ == '__main__':
lo = LoginBatch()
lo.get_data()
lo.login_100per()
2.结果