python 商城api編寫_Python實現簡單的API接口

1. get方法

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

2. post方法

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?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389061.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389061.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389061.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

opencv (一) 學習通過OpenCV圖形界面及基礎

opencv 學習通過OpenCV圖形界面基礎 用的函數有 cv.line(), cv.circle(),cv.rectangle(), cv.ellipse(),cv.putText() 常用參數 img : 想要繪制圖形的圖片color: 圖形的顏色, BGRthickness:厚度lineType: 線的類型, 8-connected、anti-al…

python精進之路 -- open函數

下面是python中builtins文件里對open函數的定義,我將英文按照我的理解翻譯成中文,方便以后查看。 def open(file, moder, bufferingNone, encodingNone, errorsNone, newlineNone, closefdTrue): # known special case of open """  …

數據科學家編程能力需要多好_我們不需要這么多的數據科學家

數據科學家編程能力需要多好I have held the title of data scientist in two industries. I’ve interviewed for more than 30 additional data science positions. I’ve been the CTO of a data-centric startup. I’ve done many hours of data science consulting.我曾擔…

基于xtrabackup GDIT方式不鎖庫作主從同步(主主同步同理,反向及可)

1.安裝數據同步工具 注:xtrabackup 在數據恢復的時候比mysqldump要快很多,特別是大數據庫的時候,但網絡傳輸的內容要多,壓縮需要占用時間。 yum install https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12…

excel表格行列顯示十字定位_WPS表格:Excel表格打印時,如何每頁都顯示標題行?...

電子表格數據很多的時候,要分很多頁打印,如何每頁都能顯示標題行呢?以下表為例,我們在WPS2019中演示如何每頁都顯示前兩行標題行?1.首先點亮頂部的頁面布局選項卡。然后點擊打印標題或表頭按鈕。2.在彈出的頁面設置對話…

opencv(二) 圖片處理

opencv 圖片處理 opencv 圖片像素操作 取像素點操作設置像素點取圖片塊分離,合并 b, g, r import numpy as np import cv2 as cvimg cv.imread(/Users/guoyinhuang/Desktop/G77.jpeg)# 獲取像素值 px img[348, 120] # 0 是y, 1 是x print(px)blue img[100, 1…

【NLP】語言模型和遷移學習

10.13 Update:最近新出了一個state-of-the-art預訓練模型,傳送門:李入魔:【NLP】Google BERT詳解?zhuanlan.zhihu.com1. 簡介長期以來,詞向量一直是NLP任務中的主要表征技術。隨著2017年底以及2018年初的一系列技術突…

TCPIP傳送協議

以下代碼實現在客戶端查詢成績(數據庫在服務器端): 客戶端: static void Main(string[] args) { string str null; while (str ! Convert.ToString(0)) { Console.WriteLine("…

sql優化技巧_使用這些查詢優化技巧成為SQL向導

sql優化技巧成為SQL向導! (Become an SQL Wizard!) It turns out storing data by rows and columns is convenient in a lot of situations, so relational databases have remained a cornerstone of data management in businesses across the globe. Structured…

Day 4:集合——迭代器與List接口

Collection-迭代方法 1、toArray() 返回Object類型數據,接收也需要Object對象! Object[] toArray(); Collection c new ArrayList(); Object[] arr c.toArray(); 2、iterator() Collection的方法,返回實現Iterator接口的對象,…

oem是代工還是貼牌_代加工和貼牌加工的區別是什么

展開全部代加工就是替別人加工,貼別人的牌子。貼牌加工即商家自己不生產,而是委托其他生產企e68a8462616964757a686964616f31333365663431業生產,而品牌是自己的。拓展資料:OEM(Original Equipment Manufacture)的基本含義是定牌生…

KNN 算法--圖像分類算法

KNN 算法–圖像分類算法 找到最近的K個鄰居,在前k個最近樣本中選擇最近的占比最高的類別作為預測類別。 給定測試對象,計算它與訓練集中每個對象的距離。圈定距離最近的k個訓練對象,作為測試對象的鄰居。根據這k個緊鄰對象所屬的類別&#xf…

java核心技術-NIO

1、reactor(反應器)模式 使用單線程模擬多線程,提高資源利用率和程序的效率,增加系統吞吐量。下面例子比較形象的說明了什么是反應器模式: 一個老板經營一個飯店, 傳統模式 - 來一個客人安排一個服務員招呼…

物種分布模型_減少物種分布建模中的空間自相關

物種分布模型Species distribution models (SDM; for review and definition see, e.g., Peterson et al., 2011) are a dominant paradigm to quantify the relationship between environmental dynamics and several manifestations of species biogeography. These statisti…

BZOJ1014: [JSOI2008]火星人prefix

BZOJ1014: [JSOI2008]火星人prefix Description 火星人最近研究了一種操作:求一個字串兩個后綴的公共前綴。 比方說,有這樣一個字符串:madamimadam,我們將這個字符串的各個字符予以標號: 序號: 1 2 3 4 5 6…

redis將散裂中某個值自增_這些Redis命令你都掌握了沒?

本章主要內容字符串命令、列表命令和集合命令散列命令和有序集合命令發布命令與訂閱命令其他命令本章將介紹一些沒有在第1章和第2章出現過的Redis命令,學習這些命令有助于讀者在已有示例的基礎上構建更為復雜的程序,并學會如何更好地去解決自己遇到的問題…

asp.net的MessageBox

public class MessageBox{ public enum MsgButton { /// <summary> /// 只是OK按鈕 /// </summary> OK 1, /// <summary> /// 提示是否確定 /// </summary> OKCancel 2 } publ…

深入理解激活函數

為什么需要非線性激活函數&#xff1f; 說起神經網絡肯定會降到神經函數&#xff0c;看了很多資料&#xff0c;也許你對激活函數這個名詞會感覺很困惑&#xff0c; 它為什么叫激活函數&#xff1f;它有什么作用呢&#xff1f; 看了很多書籍上的講解說會讓神經網絡變成很豐富的…

如何一鍵部署項目、代碼自動更新

為什么80%的碼農都做不了架構師&#xff1f;>>> 摘要&#xff1a;my-deploy:由nodejs寫的一個自動更新工具,理論支持所有語言(php、java、c#)的項目,支持所有git倉庫(bitbucket、github等)。github效果如何?如果你的后端項目放在github、bitbucket等git倉庫中管理…

Kettle7.1在window啟動報錯

實驗環境&#xff1a; window10 x64 kettle7.1 pdi-ce-7.1.0.0-12.zip 錯誤現象&#xff1a; a java exception has occurred 問題解決&#xff1a; 運行調試工具 data-integration\SpoonDebug.bat //調試錯誤的&#xff0c;根據錯誤明確知道為何啟動不了&#xff0c;Y--Y-…