您好,登錄后才能下訂單哦!
小編今天帶大家了解flask和curl的用法是什么,文中知識點介紹的非常詳細。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內容,希望能夠幫助更多想解決這個問題的朋友找到問題的答案,下面跟著小編一起深入學習“flask和curl的用法是什么”的知識吧。
,基本熟悉flask和curl的用法,于是寫個程序:
__author__ = 'hochikong' from flask import Flask,request from flask.ext.restful import Resource,Api,reqparse app = Flask(__name__) api = Api(app) todos = {} parser = reqparse.RequestParser() parser.add_argument('name',type=str,help='get the name') class TodoSimple(Resource): def get(self,todo_id): return {todo_id:todos[todo_id]} def put(self,todo_id): todos[todo_id] = request.form['data'] return {todo_id:todos[todo_id]},201 class GetName(Resource): def post(self): args = parser.parse_args() name = {} name['ac'] = args['name'] return name #args = parser.parse_args() #name = args['name'] #return name api.add_resource(TodoSimple,'/<string:todo_id>') api.add_resource(GetName,'/getname') if __name__ == '__main__': app.run()
注意代碼中注釋的部分,在使用reqparse時,如果按照注釋部分寫,會顯示如下問題:
hochikong@hochikong-P41T-D3:~$ curl http://localhost:5000/getname -d "name=hochikong" -X POST -v * Hostname was NOT found in DNS cache * Trying 127.0.0.1... * Connected to localhost (127.0.0.1) port 5000 (#0) > POST /getname HTTP/1.1 > User-Agent: curl/7.35.0 > Host: localhost:5000 > Accept: */* > Content-Length: 14 > Content-Type: application/x-www-form-urlencoded > * upload completely sent off: 14 out of 14 bytes * HTTP 1.0, assume close after body < HTTP/1.0 200 OK < Content-Type: application/json < Content-Length: 11 < Server: Werkzeug/0.10.1 Python/2.7.6 < Date: Sat, 21 Mar 2015 15:00:18 GMT < * Closing connection 0
雖然是200,但是沒有任何數據返回
我想,args['name']輸出的的確是一個字符串,但是flask-RESTful的響應應該是:
Content-Type: application/json
而沒有把單個字符串弄成json格式的途徑
但一旦放入python字典中,return的結果就是一個合法的json輸出.
我猜的哇 :)
感謝大家的閱讀,以上就是“flask和curl的用法是什么”的全部內容了,學會的朋友趕緊操作起來吧。相信億速云小編一定會給大家帶來更優質的文章。謝謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。