通过Flask和请求从一台python服务器向另一台python服务器发送双打数组

时间:2019-06-04 13:25:43

标签: python json python-3.x rest python-requests

我正在尝试从python服务向另一服务定期发送一个double数组。

作为python的初学者,我读了很多有关Flaskrequests的文章。这是一个简单的示例代码。我只想学习语法。谁能告诉我这是怎么回事。

Server1:通过烧瓶发送阵列

from flask import Flask

app = Flask(__name__)
a=[]
for i in range(10):
    a.append(i)

@app.route('/')
def hello_world():
    return '{}'.format(a)

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

服务器2:获取数组并执行一些数学运算

import requests

r = requests.get('https://127.0.0.1:5000')
y = r[1] + r[2]
print(y)

我的主要问题是:如何通过Flask传递双精度和整数而不是字符串?

1 个答案:

答案 0 :(得分:1)

最好使用JSON或其他数据格式进行数据交换,而不要使用字符串。

json的示例:

# SEND
from flask import jsonify
...

@app.route('/')
def hello_world():
    d = {"my_numbers": list(range(10))}  # create data structure
    return jsonify(d)  # respond with JSON reporesentation of data
...

# GET
import requests

r = requests.get('https://127.0.0.1:5000')
if r.status_code == 200:  # request was successful
    numbers_array = r.json()["my_numbers"]  # get [0, 1, 2, ...] from response
    print(numbers_array[1] + numbers_array[2])  # perform math ops
else:  # server is down or wrong request
    print('error getting data from server:', r.status_code, r.text)