Python实现简单的API接口

本文详细介绍了在Python WSGI环境中如何处理GET和POST请求。通过具体代码示例,展示了如何解析GET请求的查询字符串,以及如何读取POST请求的主体内容。此外,还演示了如何使用json模块进行数据的序列化和反序列化。
摘要由CSDN通过智能技术生成

get方法

代码实现

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

 

请求实例

这里写图片描述

post方法

代码实现

  1.  
    # coding:utf-8
  2.  
     
  3.  
    import json
  4.  
    from wsgiref.simple_server import make_server
  5.  
     
  6.  
     
  7.  
    # 定义函数,参数是函数的两个参数,都是python本身定义的,默认就行了。
  8.  
    def application(environ, start_response):
  9.  
    # 定义文件请求的类型和当前请求成功的code
  10.  
    start_response( '200 OK', [('Content-Type', 'application/json')])
  11.  
    # environ是当前请求的所有数据,包括Header和URL,body
  12.  
     
  13.  
    request_body = environ[ "wsgi.input"].read(int(environ.get("CONTENT_LENGTH", 0)))
  14.  
    request_body = json.loads(request_body)
  15.  
     
  16.  
    name = request_body[ "name"]
  17.  
    no = request_body[ "no"]
  18.  
     
  19.  
    # input your method here
  20.  
    # for instance:
  21.  
    # 增删改查
  22.  
     
  23.  
    dic = { 'myNameIs': name, 'myNoIs': no}
  24.  
     
  25.  
    return [json.dumps(dic)]
  26.  
     
  27.  
     
  28.  
    if __name__ == "__main__":
  29.  
    port = 6088
  30.  
    httpd = make_server( "0.0.0.0", port, application)
  31.  
    print "serving http on port {0}...".format(str(port))
  32.  
    httpd.serve_forever()

 


请求实例

这里写图片描述

转载于:https://www.cnblogs.com/lgqboke/p/9931665.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值