目標:python
使用Python實現一個簡單的接口服務,能夠經過get、post方法請求該接口,拿到響應數據。建立一個api_server.py文件,json
想要實現的效果是這樣的:flask
添加代碼以下: api
1 import flask,json 2 from flask import request 3 4 ''' 5 flask: seb框架,經過flask提供的裝飾器@server.route()將普通函數轉換爲服務 6 登陸接口,須要傳入url,username,passwd 7 ''' 8 9 #建立一個服務,把當前這個python文件當作一個服務 10 server = flask.Flask(__name__) 11 12 #server.route()能夠將普通函數轉變爲服務 登陸接口的路徑、請求方式 13 @server.route('/login',methods=['get','post']) 14 def login(): 15 #獲取經過url請求傳參的數據 16 username = request.values.get('name') 17 #獲取url請求傳的密碼,明文 18 pwd=request.values.get('pwd') 19 #判斷用戶名、密碼都不爲空,若是不傳用戶名、密碼則username和pwd爲None 20 if username and pwd: 21 if username == 'xiaoming' and pwd == '111': 22 resu={'code':200,'message':'登陸成功'} 23 return json.dumps(resu,ensure_ascii=False)#將字典轉換爲Json串,json是字符串 24 else: 25 resu={'code':-1,'message':'帳號密碼錯誤'} 26 return json.dumps(resu,ensure_ascii=False) 27 28 else: 29 resu={'code':1001,'message':'參數不能爲空'} 30 return json.dumps(resu,ensure_ascii=False) 31 32 if __name__== '__main__': 33 server.run(debug=True,port = 8888,host='0.0.0.0')#指定端口,host,0.0.0.0表明無論幾個網卡,任何ip均可訪問
執行以上代碼,測試一下效果: 瀏覽器
1.正確的用戶名,錯誤的密碼框架
在瀏覽器中輸入http://127.0.0.1:8888/login?name=xiaoming&pwd=111111函數
2.正確的用戶名 正確的密碼 post
http://127.0.0.1:8888/login?name=xiaoming&pwd=111學習
3.密碼爲空測試
http://127.0.0.1:8888/login?name=xiaoming
參照下面3文(使用了第1篇文章做者的思路,以最低的學習成本實現了我想要的目標,經過 一個http地址 ,請求到相應的json數據 )
使用Python實現一個簡單的接口服務(利用flask)
https://blog.csdn.net/songlh1234/article/details/83381642
用Python 的Flask實現 RESTful API(學習篇)(極好!最複合我完整的需求,小例子深刻淺出,簡顯易懂)
https://www.jianshu.com/p/33160c224732
Python實現簡單的API接口
https://blog.csdn.net/u013040887/article/details/78895323/