flask框架编写api,生成token进行md5加密
flask是python一款简易的web框架,不仅可以制作网站,也可以做一下api接口,这次主要在seo的基础上,生成一个简单的关键词排名查询接口,可以为seo从业者查询关键词的排名。下面主要讲解一下初步的实现思路。
一、数据库方面
在数据库方面,用了flask中SQLAlchemy模块,创建数据表,并在数据表中创建需要的字段,这里创建了token字段和数量字段。
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@localhost:3306/seo_tool'
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
db = SQLAlchemy(app)
class Token(db.Model):
__tablename__ = 'rank_token'
key = db.Column(db.String(50),doc='查询的token值',primary_key=True)
num = db.Column(db.Integer,doc='查询的次数',nullable=False,default=1000)
def __init__(self,key,num):
self.key = key
self.num = num
二、md5加密
为了防止传入的token值会出现相同的情况,这里对token进行md5加密,这样相同token就不会出现,保证数据的唯一性。通过加盐和md5相结合,生成随机的token值
def add_salt():
key = 'danmoln'
num = '123456789'
str_1 = string.ascii_letters
rand_code = random.sample(num+str_1,6)
salt = ''.join(rand_code)
token = get_md5(salt+key)
return token
def get_md5(token):
h = hashlib.md5()
h.update(token.encode('utf-8'))
return h.hexdigest()
传入数据时,就会在数据库中生成不一样的token值了
最后调用接口,就可以查询到关键词的排名数据
现在我做的接口还在测试中,后面运行稳定,就会开放给大家使用。而且最近我上线了一个简单的发卡系统,对前面的快排源码放入这个系统中了,需要购买的客户,可以扫支付宝进行购买,购买成功后会自动发送百度网盘资料。
点击下方阅读原文,获取源码!