有人可以帮我查询。在我的本地机器上,我有一个用 Python 实现的服务器和客户端。JSON 数据从客户端发送到服务器,服务器从中解析出所需的数据并将结果作为 JSON 文件发送回客户端。这在我的本地机器上运行良好。我现在想在 Ubuntu 服务器上实现这个 Flask 服务器,然后想要发送和接收数据。我正在尝试使用 mod_wsgi 中的解释https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps我仍然无法将数据返回到我的本地机器。这是我的代码:客户端.pyimport sysimport jsonimport requestsimport timeimport osimport globdata_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'])服务器.pyfrom flask import Flaskfrom flask import requestimport jsonimport reimport sysimport osimport timefrom parsers import id_parser, name_parserimport spacyimport refrom datetime import datetime#nlp = spacy.load('en_core_web_lg')import globapp = 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 回答

慕的地6264312
TA贡献1817条经验 获得超6个赞
而不是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)
我不确定它是否会有所帮助,但请尝试一下。:)
添加回答
举报
0/150
提交
取消