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

yipeiwu_com5年前Python基础

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设计】。

相关文章

Python3 queue队列模块详细介绍

queue介绍 queue是python中的标准库,俗称队列。 在python中,多个线程之间的数据是共享的,多个线程进行数据交换的时候,不能够保证数据的安全性和一致性,所以当多个线程需...

如何基于Python获取图片的物理尺寸

如何基于Python获取图片的物理尺寸

这篇文章主要介绍了如何基于Python获取图片的物理尺寸,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题 如何获取图片的物理尺寸...

Python重新加载模块的实现方法

importlib 模块的作用 模块,是一个一个单独的py文件 包,里面包含多个模块(py文件) 动态导入模块,这样就不用写那么多的import代码, 典型的例子: 自动同步服务,每个网...

python thread 并发且顺序运行示例

复制代码 代码如下:#-*- coding:utf-8 -*- import threading import time def fun(name, ls_name, front_thr...

python selenium 获取标签的属性值、内容、状态方法

获取标签内容 使用element.attribute()方法获取dom元素的内容,如: dr = driver.find_element_by_id('tooltip') dr.ge...