一、使用python操作数据库
1.1 引入库
注:使用前需要使用老朋友pip下载pymysql。
# 导入pymysql连接数据库
import pymysql
1.2 脚本
# 定义连接数据库的方法
# def mysql():
# 数据库的ip地址
# host = 'XXX'
# 数据库的账号
# user = 'XXX'
# 数据库的密码
# password = 'XXX'
# 要连接哪个库
# db2 = 'XXX'
# 填写数据库端口,端口是int类型
# port = XXX
# 通过pymysql连接数据库,并接收
# mysql = pymysql.connect(host=host, user=user, password=password, port=port, db=db2)
# 2.新建个查询页面
# cursor = mysql.cursor()
# 3.写sql脚本
# sql = "select * from XXX order by create_time desc limit 1"
# 4.执行sql
# cursor.execute(sql)
# 用于返回多条数据
# results2 = cursor.fetchall()
# 使用列表推导式把列表中的单个元素全部转化为str类型
# list1 = [str(i) for i in results2]
# 把列表中的元素放在空串中,元素间用空格隔开
# list2 = ' '.join(list1)
# 发送请求
# mysql.commit()
二、使用python发送post请求
2.1 引入库
注:request是python做接口测试的基础库,可以进行详细了解。
代码如下:
# 导入json
import json
# 导入request
import requests
2.脚本
代码如下(示例):
# 设定url
# 发送验证码接口
url_sendVverifyCode = "http://XXX.XXX.XXX/free-study-user-api/uc/bfUser/login/sendVverifyCode"
# 登录接口
url_loginByPhoneForApp = "http://XXX.XXX.XXX/uc/bfUser/login/loginByPhoneForApp"
# 新用户设置密码接口
url_cipherReset = "http://XXX.XXX.XXX/uc/bfUser/login/cipherReset"
# 设定请求头
headers = {
"brandId": "17",
"appId": "wxf6ce8d077856c080",
"Content-Type": "application/json;charset=UTF-8"
}
# 设定入参
data_sendVverifyCode = {
"phone": str(int(phone_num)+i),
"nationalCode": "",
"isInternal": "1"
}
# 将获取验证码接口的返参中的data参数以f来接收
f = requests.post(url=url_sendVverifyCode, headers=headers, data=json.dumps(data_sendVverifyCode)).json()['data']
# 将f的值转化为元组,并取出value
verifyCode = tuple(f.values())[0]
# 设定入参
data_loginByPhoneForApp = {
"phone": str(int(phone_num)+i),
"verifyCode": verifyCode
}
data_cipherReset = {
"phone": str(int(phone_num)+i),
"newPassWord": "111111",
"nationalCode": "",
"isInternal": "1",
"isNeedCheckUser": "false"
}
res_loginByPhoneForApp = requests.post(url=url_loginByPhoneForApp, headers=headers,
data=json.dumps(data_loginByPhoneForApp))
res_cipherReset = requests.post(url=url_cipherReset, headers=headers, data=json.dumps(data_cipherReset))
# 查看状态码
# print(res_loginByPhoneForApp.status_code)
# text2 = json.loads(res_loginByPhoneForApp.text)
# 查看返参
# print("text2:", text2)
# print(res_cipherReset.status_code)
# text3 = json.loads(res_cipherReset.text)
# print("text3:", text3)
出于安全考虑,隐藏域名。
总结
以上就是使用python连接数据库和请求post接口的方法。