Отправка и получение данных с локального клиентского компьютера на флеш-сервер на сервере Ubuntu - PullRequest
0 голосов
/ 11 октября 2018

Может кто-нибудь помочь мне с моим запросом.

На моем локальном компьютере у меня есть сервер и клиент, реализованный на Python.Данные JSON передаются от клиента к серверу, сервер анализирует необходимые данные и отправляет результат в виде файла JSON обратно клиенту.Это работает нормально на моей локальной машине.Теперь я хочу внедрить этот флеш-сервер на сервер Ubuntu, а затем хочу отправлять и получать данные.Я пытаюсь использовать 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 голосов
/ 11 октября 2018

Вместо json.dump() попробуйте использовать метод колбы jsonify, который будет совместим с колбой.

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


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

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

Я не уверен, что это поможет, но попробуйте.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...