国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用python實現接口的方法

2020-02-16 01:48:40
字體:
來源:轉載
供稿:網友

接口基礎知識:

簡單說下接口測試,現在常用的2種接口就是http api和rpc協議的接口,今天主要說:http api接口是走http協議通過路徑來區分調用的方法,請求報文格式都是key-value形式,返回報文一般是json串;

接口協議:http、webservice、rpc等。

請求方式:get、post方式

請求參數格式:

  a. get請求都是通過url?param=xxx¶m1=xxx

  b. post請求的請求參數常用類型有:application/json、application/x-www-form-urlencoded、multipart/form-data、text/html等。

還需要知道接口的url、參數類型、返回結果的數據格式、了解接口是否有header、cookie等信息。 

接口的實現:請求方式-get,接口的寫法:

 import flask from flask import request from flask import jsonify import tools import OP_db import settings ''' flask: web框架,可以通過flask提供的裝飾器@server.route()將普通函數轉換為服務 登錄接口,需要傳url、username、passwd ''' #創建一個服務,把當前這個python文件當做一個服務 server = flask.Flask(__name__) #server.config['JSON_AS_ASCII'] = False  # @server.route()可以將普通函數轉變為服務 登錄接口的路徑、請求方式 @server.route('/login', methods=['get']) def login():  # 獲取通過url請求傳參的數據  username = request.values.get('name')  # 獲取url請求傳的密碼,明文  pwd = request.values.get('pwd')  # 判斷用戶名、密碼都不為空,如果不傳用戶名、密碼則username和pwd為None  if username and pwd:   # 獲取加密后的密碼   password = tools.md5_pwd(pwd)   #執行sql,如果查詢的username和password不為空,說明數據庫存在admin的賬號   sql = 'select name,password from test where name= "%s" and password= "%s";' %(username, password)   # 從數據查詢結果后,res返回是元組   res = OP_db.getconn(    host=settings.mysql_info['host'],    user=settings.mysql_info['user'],    passwd=settings.mysql_info['pwd'],    db=settings.mysql_info['db'],    port=settings.mysql_info['port'],    sql=sql   )   if res:  #res的結果不為空,說明找到了username=admin的用戶,且password為加密前的123456    resu = {'code': 200, 'message': '登錄成功'}    return jsonify(resu) #將字典轉換為json串, json是字符串   else:    resu = {'code': -1, 'message': '賬號/密碼錯誤'}    return jsonify(resu)  else:   res = {'code': 999, 'message': '必填參數未填寫'}   return jsonify(res)  if __name__ == '__main__':  server.run(debug=True, port=8888, host=0.0.0.0) #指定端口、host,0.0.0.0代表不管幾個網卡,任何ip都可以訪問
md5加密、數據庫mysql的操作詳見我的其他博客~~~~~

get訪問接口:

項目啟動后,接口的地址是:http://127.0.0.1:5000/,默認端口是5000。

打開瀏覽器,輸入urlhttp://127.0.0.1:5000/xxx?name=xxx&pwd=123456,后面跟上接口的地址login,參數跟url直接使用?相連,每個請求參數直接使用&相連。請求成功,則返回{'code': 200, 'message': '登錄成功'}。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东光县| 镇雄县| 新津县| 华安县| 诸城市| 周至县| 临潭县| 阜宁县| 宁安市| 池州市| 周口市| 仁寿县| 万安县| 抚顺县| 毕节市| 普洱| 凤凰县| 武义县| 武汉市| 凤凰县| 朝阳县| 资兴市| 新兴县| 锦州市| 扬中市| 富平县| 淮北市| 罗城| 筠连县| 岳阳县| 会泽县| 呼伦贝尔市| 卓资县| 筠连县| 阿拉善盟| 绵竹市| 襄垣县| 深州市| 蒙阴县| 西林县| 宣汉县|