1

我已經開發了一個Python插件,它能夠以毫米代碼發送日誌文件以JSON格式 的我已經使用requests.post(url, data={})創建蟒蛇簡單的API趕上POST請求

會是怎樣的API結構抓住這個data並將可用 發送到任何地方與GET請求

+0

莫非你明確你正在嘗試做什麼?這聽起來像你想建立一個Web服務器,將通過POST請求接受你的日誌文件數據。我不明白「抓住這個'數據'並且可以用GET請求發送到任何地方。」數據的最終位置在哪裏?數據庫? .txt文件? –

回答

1

如果你是相當新的網絡編程,我會建議使用像Flask輕量級框架。有了它,你可以自定義路徑,您的服務器上進行如下接受請求:

from flask import Flask 
from flask import request, jsonify 
app = Flask(__name__) 

log_file = None 

@app.route("/api/logfile", methods=['GET', 'POST']) 
def post_logfile(): 
    if request.method == 'GET': 
     if log_file is not None: 
      return "Log file not instantiated yet", 404 
     else: 
      return jsonify(log_file) 
    elif request.method == 'POST': 
     log_file = request.form 
     if log_file is not None: 
      # log_file variable will have all the information 
      # from the JSON log file 
      return "Ok" 
     else: 
      return "No data provided", 400 

if __name__ == "__main__": 
    app.run(port=9000) 

正如你可以看到,我們有一個全局變量LOG_FILE將被用於存儲JSON日誌文件數據和功能它接受POST和GET請求並相應地執行。如果發送GET請求,它會檢查是否分配了log_file變量。如果是這樣,它會將日誌文件作爲JSON文件返回,否則會返回404錯誤。如果發送POST請求,它會檢查它是否包含日誌文件並存儲在log_file變量中,這對於所有後續的GET請求都很有用。

使用的網址是:

本地主機:9000/API /日誌文件

而你只需要改變的請求的方法(如POST或GET)

+0

如果我想使用Django的休息框架,那麼我能做些什麼..感謝瓶結構... –

+0

我從來沒有進入Django太多,但我想這個教程會讓你通過http://www.django- rest-framework.org/tutorial/quickstart/。從代碼判斷,我認爲你應該首先理解Django是如何工作的(模型,URL,視圖等)才能使用這個框架。好的是,互聯網充滿了材料,讓你開始 –

+0

我想通過'request'接收json數據 –