对Python实现简单的API接口实例讲解
作者:IT和尚 发布时间:2023-11-20 03:27:04
标签:Python,API,接口
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()
请求实例
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()
请求实例
疑问
怎么实现请求的路径限制?
怎么限制接口调用方的headers?
来源:https://blog.csdn.net/u013040887/article/details/78895323
0
投稿
猜你喜欢
- import osimport sysimport MySQLdbdef getStatus(conn):  
- 设计是简单的如果你知道要放的东西该放到哪。曾经在某个电子杂志里看到一篇关于如何在平面设计中偷懒的文章,引发了我的一些思考,在平面设计中有这么
- (一)关于体验约瑟夫.派恩和詹姆士.吉尔摩在《体验经济》一书中提出其观点:所谓“体验”就是企业以商品为道具,以服务为舞台,以顾客为中心,创造
- 自定义模板标签,过滤器。英文翻译是Customtemplatetagsandfilters。customfilter自定义过滤器今天不在我的
- 文章首先使用pycharm的 PyQt5 Designer 做一个简单的界面,然后引入所谓的“mvc框架”。一、设计登录界面下面开始第一个话
- acronym从字义上理解,是取首字母的缩写词,abbr是缩写,在应用过程中,两个标签看起来差不多,但个人觉得还是有区别的。看下面的例子:&
- 大家好,我是辣条。曾经有一个真挚的机会,摆在我面前,但是我没有珍惜,等到失去的时候才后悔莫及,尘世间最痛苦的事莫过于此,如果老天可以再给我一
- 环境:RHEL 5.4 x86 , oracle 11.2 1.设定环境变量 在/home/oracle编辑 # .bash_profile
- 今天把博客的日历脚本又改了一改,就帖上了,以后找起来方便一点,同时也给需要的人带来方便,本来还想加点功能再帖上来,不过我看还是没必要了,帖的
- 一个装饰器已经作用在一个函数上,你想撤销它,直接访问原始的未包装的那个函数。假设装饰器是通过 @wraps 来实现的,那么你可以通过访问 w
- 为了得到更加清晰的图像我们需要通过技术对图像进行处理,比如使用对比度增强的方法来处理图像,对比度增强就是对图像输出的灰度级放大到指定的程度,
- 本文实例讲述了Python常见数据类型转换操作。分享给大家供大家参考,具体如下:类型转换主要针对几种存储工具:list、tuple、dict
- 用采集程序的优点有:无须维护网站,因为采集程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般采集程序就几个文件,
- Python time模块时间获取和转换Time模块介绍Python的Time库可以进行时间相关的处理,如访问当前日期和时间,输出不同格式的
- 有这样一类文章标题,喜欢学习的人肯定见过:使用Google的7个技巧Web设计中9个常见的可用性错误Adobe Photoshop 75个技
- 介绍目前它是Python数值计算中最为重要的基础包,将numpy的数组的对象作为数据交互的通用语,一般我们要充分理解好矩阵计算的原理,这需要
- 需求问题在日常工作中,对于前端发送过来的请求,后端django大部分都是采用json格式返回,也有采用模板返回视图的方式。在模板返回视图的方
- 在工作之余抽了点时间写了一下这个,在ie6-ie7-ff下显示位置基本都一致了。(发现demo页面用栅格线做背景,调试还真的容易得多 。热力
- PHP7.0正式版也出来了,今天编译安装了一下,写下安装步骤,我是在centos6.6 环境中编译的,下面是详细的安装步骤环境依赖yum i
- 本文为大家分享了pygame游戏之旅的第10篇,供大家参考,具体内容如下通过获取鼠标的位置然后进行高亮显示:mouse =pygame.mo