对Python实现简单的API接口实例讲解


Posted in Python onDecember 10, 2018

get方法

代码实现

# coding:utf-8
 
import json
from urlparse import parse_qs
from wsgiref.simple_server import make_server
 
 
# 定义函数,参数是函数的两个参数,都是python本身定义的,默认就行了。
def application(environ, start_response):
 # 定义文件请求的类型和当前请求成功的code
 start_response('200 OK', [('Content-Type', 'text/html')])
 # environ是当前请求的所有数据,包括Header和URL,body,这里只涉及到get
 # 获取当前get请求的所有数据,返回是string类型
 params = parse_qs(environ['QUERY_STRING'])
 # 获取get中key为name的值
 name = params.get('name', [''])[0]
 no = params.get('no', [''])[0]
 
 # 组成一个数组,数组中只有一个字典
 dic = {'name': name, 'no': no}
 
 return [json.dumps(dic)]
 
 
if __name__ == "__main__":
 port = 5088
 httpd = make_server("0.0.0.0", port, application)
 print "serving http on port {0}...".format(str(port))
 httpd.serve_forever()

请求实例

对Python实现简单的API接口实例讲解

post方法

代码实现

# coding:utf-8
 
import json
from wsgiref.simple_server import make_server
 
 
# 定义函数,参数是函数的两个参数,都是python本身定义的,默认就行了。
def application(environ, start_response):
 # 定义文件请求的类型和当前请求成功的code
 start_response('200 OK', [('Content-Type', 'application/json')])
 # environ是当前请求的所有数据,包括Header和URL,body
 
 request_body = environ["wsgi.input"].read(int(environ.get("CONTENT_LENGTH", 0)))
 request_body = json.loads(request_body)
 
 name = request_body["name"]
 no = request_body["no"]
 
 # input your method here
 # for instance:
 # 增删改查
 
 dic = {'myNameIs': name, 'myNoIs': no}
 
 return [json.dumps(dic)]
 
 
if __name__ == "__main__":
 port = 6088
 httpd = make_server("0.0.0.0", port, application)
 print "serving http on port {0}...".format(str(port))
 httpd.serve_forever()

请求实例

对Python实现简单的API接口实例讲解

疑问

怎么实现请求的路径限制?

怎么限制接口调用方的headers?

以上这篇对Python实现简单的API接口实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
Aug 22 Python
Python XML RPC服务器端和客户端实例
Nov 22 Python
Python配置文件解析模块ConfigParser使用实例
Apr 13 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
Python GUI布局尺寸适配方法
Oct 11 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
在Keras中实现保存和加载权重及模型结构
Jun 15 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
Feb 05 Python
Python中可变和不可变对象的深入讲解
Aug 02 Python
python 多态 协议 鸭子类型详解
Nov 27 Python
asyncio异步编程之Task对象详解
Mar 13 Python
python中dir()与__dict__属性的区别浅析
Dec 10 #Python
python分块读取大数据,避免内存不足的方法
Dec 10 #Python
Python 文本文件内容批量抽取实例
Dec 10 #Python
Python中作用域的深入讲解
Dec 10 #Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 #Python
Python文件常见操作实例分析【读写、遍历】
Dec 10 #Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 #Python
You might like
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
javascript prototype原型操作笔记
2009/12/07 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
使用upstart把nodejs应用封装为系统服务实例
2014/06/01 NodeJs
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
Python列表计数及插入实例
2014/12/17 Python
python对excel文档去重及求和的实例
2018/04/18 Python
python实战教程之自动扫雷
2018/07/13 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
python如何停止递归
2020/09/09 Python
介绍一下grep命令的使用
2012/06/28 面试题
自我鉴定200字
2013/10/28 职场文书
商务考察邀请函范文
2014/01/21 职场文书
白血病捐款倡议书
2014/05/14 职场文书
优秀毕业生求职信
2014/06/05 职场文书
统计专业自荐书
2014/07/06 职场文书
环卫工作汇报材料
2014/10/28 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
施工安全责任协议书
2016/03/23 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript