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()

請求實例

疑問

  1. 怎麼實現請求的路徑限制?
  2. 怎麼限制接口調用方的headers?