You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在本地基于Flask构建服务,向指定VM服务器发送数据?

看起来你可能搞混了服务端和客户端的角色~ 你需要做两件事:一是确保VM上的服务能接收来自本地机器的请求,二是在本地写一个客户端脚本把数据发送过去。让我一步步帮你搞定:

第一步:修正VM上的Flask服务

你的VM上的127.0.0.1:5000/process服务目前只能在VM内部访问,要让本地机器能连接,得把Flask服务绑定到VM的外部IP或者0.0.0.0(监听所有网卡),同时编写接收数据的/process路由。

修改VM上的Flask代码如下:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/process', methods=['POST'])
def process_data():
    # 获取本地发送过来的数据
    received_data = request.get_json()
    if not received_data:
        return jsonify({"error": "No data received"}), 400
    
    # 这里可以根据需求处理数据,比如打印、存储或进一步计算
    print(f"Received data from local machine: {received_data}")
    # 返回响应给本地客户端
    return jsonify({"status": "success", "received_data": received_data}), 200

if __name__ == '__main__':
    # 绑定到0.0.0.0,让外部机器能访问该服务
    app.run(host='0.0.0.0', port=5000, debug=True)

启动这个服务后,VM上的/process端点就可以接收来自本地机器的POST请求了。

第二步:本地编写数据发送脚本

在本地机器上,你需要写一个客户端脚本,把数据发送到VM的http://10.127.206.114:5000/process。我们可以用requests库来实现:

首先确保本地安装了requests:

pip install requests

然后编写发送脚本(比如命名为send_local_data.py):

import requests
import json

# 定义你要发送的本地数据
local_data = {
    "Id": 1234,
    "data_type": "sample",
    "content": "这是来自本地的测试数据"
}

# VM服务的访问地址
vm_service_url = "http://10.127.206.114:5000/process"

try:
    # 以JSON格式发送POST请求
    response = requests.post(vm_service_url, json=local_data)
    response.raise_for_status()  # 如果请求失败,抛出异常
    
    # 打印VM返回的响应结果
    print("VM服务返回的响应:")
    print(json.dumps(response.json(), indent=2))
except requests.exceptions.RequestException as e:
    print(f"发送数据失败:{e}")

运行这个脚本,就能把本地数据发送到VM的服务中了。

关键注意事项
  • 确保VM的防火墙允许5000端口的入站请求,否则本地机器无法连接到VM的服务。
  • 如果VM部署在云平台上,还需要在云平台的安全组规则中开放5000端口的访问权限。
  • 你可以先用curl命令快速测试连接:
    curl -X POST -H "Content-Type: application/json" -d '{"Id":1234}' http://10.127.206.114:5000/process
    

内容的提问来源于stack exchange,提问作者chiranjeevi r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 07:04:04