• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python中接口的实现实例

python 搞代码 4年前 (2022-01-09) 21次浏览 已收录 0个评论

接口基础知识:

简单说下接口测试,现在常用的2种接口就是http api和rpc协议的接口,今天主要说:http api接口是走http协议通过路径来区分调用的方法,请求报文格式都是key-value形式,返回报文一般是json串;

接口协议:http、webservice、rpc等。

请求方式:get、post方式

请求参数格式:

  a. get请求都是通过url?param=xxx&param1=xxx

  b. post请求的请求参数常用类型有:application/json、application/x-www-form-urlencoded、multipart/form-data、text/html等。

还需要知道接口的url、参数类型、返回结果的数据格式、了解接口是否有header、cookie等信息。

接口的实现:

请求方式-get,接口的写法:

 1 import flask  2 from flask import request  3 from flask import jsonify  4 import tools  5 import OP_db  6 import settings  7 '''  8 flask: web框架,可以通过flask提供的装饰器@server.route()将普通函数转换为服务  9 登录接口,需要传url、username、passwd 10 ''' 11 #创建一个服务,把当前这个python文件当做一个服务 12 server = flask.Flask(__name__) 13 #server.config['JSON_AS_ASCII'] = False 14  15 # @server.route()可以将普通函数转变为服务  登录接口的路径、请求方式 16 @server.route('/login', methods=['get']) 17 def login(): 18     # 获取通过url请求传参的数据19     username = request.values.get('name') 20     # 获取url请求传的密码,明文 21     pwd = request.values.get('pwd') 22     # 判断用户名、密码都不为空,如果不传用户名、密码则username和pwd为None 23     if username and pwd: 24         # 获取加密后的密码 25         password = tools.md5_pwd(pwd) <em style="color:transparent">本文来源gao.dai.ma.com搞@代*码#网</em>26         #执行sql,如果查询的username和password不为空,说明数据库存在admin的账号 27         sql = 'select name,password from test where name= "%s" and password= "%s";' %(username, password) 28         # 从数据查询结果后,res返回是元组 29         res = OP_db.getconn( 30             host=settings.mysql_info['host'], 31             user=settings.mysql_info['user'], 32             passwd=settings.mysql_info['pwd'], 33             db=settings.mysql_info['db'], 34             port=settings.mysql_info['port'], 35             sql=sql 36         ) 37         if res:      #res的结果不为空,说明找到了username=admin的用户,且password为加密前的123456 38             resu = {'code': 200, 'message': '登录成功'} 39             return jsonify(resu) #将字典转换为json串, json是字符串 40         else: 41             resu = {'code': -1, 'message': '账号/密码错误'} 42             return jsonify(resu) 43     else: 44         res = {'code': 999, 'message': '必填参数未填写'} 45         return jsonify(res) 46  47 if __name__ == '__main__': 48       server.run(debug=True, port=8888, host=0.0.0.0)  #指定端口、host,0.0.0.0代表不管几个网卡,任何ip都可以访问

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python中接口的实现实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址