怎样从服务器传送到客户端显示,如何在Python中使用Flask将数据从服务器发送到客户端?...

我正在制作一个应用程序,它向客户机发送数据,然后客户机打印数据。在

我使用Flask作为后端框架来处理服务器端,另一个python脚本为当前客户机生成随机ID,客户机每4秒检查一次是否有新数据进来,如果它得到数据,它应该打印它。在

后端代码@app.route('/data/api/interact/', methods=['GET', 'POST'])

@login_required

def interact(client_id):

global data

form = Interact()

data = ''

if form.is_submitted():

get_data = form.ct.data

if get_data == 'hello':

data = 'Hi how are you?'

return redirect(url_for('data_handler', client_id=client_id, data=form.ct.data))

return render_template('interact.html', form=form, client_id=client_id)

@app.route('/data/api/interact/handler/', methods=['GET', 'POST'])

def data_handler():

client_id = request.args.get('client_id')

get_data = request.args.get('data')

return json.dumps({'client_id': client_id, 'data': get_data})

客户端脚本

^{pr2}$

一切正常,但如果我将数据从服务器发送到客户端,它将打印:

{'data': '', 'client_id': null}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Python 的 requests 库来发送和接收 `.dat` 文件。具体步骤如下: 1. 在 Flask 的路由函数使用 `request.get_data()` 方法获取 POST 请求的数据,如下所示: ```python from flask import Flask, request, send_file app = Flask(__name__) @app.route('/upload', methods=['POST']) def upload_file(): data = request.get_data() with open('uploaded_file.dat', 'wb') as f: f.write(data) return 'File uploaded successfully!' @app.route('/download') def download_file(): return send_file('uploaded_file.dat', as_attachment=True) ``` 在上面的代码,`request.get_data()` 表示获取 POST 请求的数据数据类型为 bytes。`with open('uploaded_file.dat', 'wb') as f:` 表示将接收到的文件数据保存为 `uploaded_file.dat` 文件。 2. 使用 Python 的 requests 模块发送 POST 请求,并且设置 `Content-Type: application/octet-stream` 头部信息,如下所示: ```python import requests url = 'http://localhost:5000/upload' filename = 'test.dat' with open(filename, 'rb') as f: data = f.read() response = requests.post(url, data=data, headers={'Content-Type': 'application/octet-stream'}) print(response.text) ``` 在上面的代码,`requests.post()` 表示发送 POST 请求,其 `data` 参数为要上传的文件数据,`headers` 参数为请求头部信息,设置 `Content-Type: application/octet-stream` 表示上传的数据为二进制流格式。 3. 使用 Python 的 requests 模块发送 GET 请求,并且设置 `Content-Type: application/octet-stream` 头部信息,接收服务器返回的 `.dat` 文件,如下所示: ```python import requests url = 'http://localhost:5000/download' response = requests.get(url, headers={'Content-Type': 'application/octet-stream'}) with open('downloaded_file.dat', 'wb') as f: f.write(response.content) ``` 在上面的代码,`requests.get()` 表示发送 GET 请求,其 `headers` 参数为请求头部信息,设置 `Content-Type: application/octet-stream` 表示要接收的数据为二进制流格式。`response.content` 表示获取服务器返回的二进制数据。 需要注意的是,如果上传的文件非常大,需要多次发送请求来上传文件,可以使用 `Content-Range` 头部信息来指定上传的数据范围,具体实现可以参考 HTTP 协议的规范。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值