簡體   English   中英

從本地客戶端計算機向Ubuntu服務器上的Flask服務器發送和接收數據

[英]Send and receive data from local client machine to a flask server on an Ubuntu server

有人可以幫我查詢一下嗎。

在本地計算機上,我有一個用Python實現的服務器和客戶端。 JSON數據從客戶端發送到服務器,服務器從中解析出所需的數據,並將結果作為JSON文件發送回客戶端。 在我的本地計算機上運行良好。 我現在想在Ubuntu服務器上實現該Flask服務器,然后再發送和接收數據。 我正在嘗試使用mod_wsgi,如

https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps

我仍然無法將數據返回到本地計算機。 這是我的代碼:

client.py

import sys
import json
import requests
import time
import os
import glob

data_location = 'C:\\Users\\cathy\\Desktop\\data'  # folder containing all the data        
for root, directories, files in os.walk(data_location):
    for directory  in directories:
        loc = (data_location + '/' + directory + '/*')
        all_files = glob.glob(loc)
        for filename in all_files:
            f=open(filename)
            f=f.read().splitlines()
            payload = {'input': f}
            s = json.dumps(payload)
            #res = requests.post("http://127.0.0.1:5000/my_data/", json=s).json()
            res = requests.post("http://12.345.678.890/my_data/", json=s).json()
            #time.sleep(10)
            if res['employee_id']:
                print(res['employee_id'])
            if res['name']:
                print(res['name'])

server.py

from flask import Flask
from flask import request
import json
import re
import sys
import os
import time
from parsers import id_parser, name_parser
import spacy
import re
from datetime import datetime#
nlp = spacy.load('en_core_web_lg')
import glob
app = Flask(__name__) 


@app.route('/my_data/', methods = ['POST'])
def parsing_data():
    jsondata = request.get_json()
    data = json.loads(jsondata)
    requiredData=data['input']
    employee_id_=id_parser(requiredData)
    name=name_parser(requiredData)

    result = {'employee_id_': employee_id_, 'name':name}
    return json.dumps(result)


if __name__ == '__main__':
    app.run(debug=True)

代替json.dump()嘗試使用flask在燒瓶內兼容的jsonify方法。

#......
from flask import jsonify
#......


@app.route('/my_data/', methods = ['POST'])
def parsing_data():
    #.....

    result = {'employee_id_': employee_id_, 'name':name}
    return jsonify(result)

我不確定是否有幫助,但請嘗試一下。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM