从本地客户端计算机向Ubuntu服务器上的Flask服务器发送和接收数据

时间:2018-10-11 03:50:26

标签: python flask

有人可以帮助我进行查询吗?

在我的本地计算机上,我有一个用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)

1 个答案:

答案 0 :(得分:0)

请尝试使用烧瓶内兼容的烧瓶Grid方法,而不是json.dump()

jsonify

我不确定是否有帮助,但是请尝试。 :)