基于Flask创建Python服务端,并调用Python客户端、C#客户端

简介: 基于Flask创建Python服务端,并调用Python客户端、C#客户端

服务端

Python服务端

Python的服务端调用代码如下所示:

from flask import Flask, request
class AiServer(object):
    def __init__(self):
        server = Flask(__name__)
        server.route('/post', methods=['POST'])(self.post)
        server.run(host="0.0.0.0", port=8000, threaded=True)
    def post(self):
        if request.method == "POST":
            print("get post")
            response_data = request.json.get('data')
            print("response_data", response_data)
            return "Hello"
if __name__ == '__main__':
    AiServer()

客户端

Python客户端实现如下所示:

Python客户端

import requests
if __name__ == '__main__':
    # post 请求
    url = "http://localhost:8000/post"
    data = "num"
    r = requests.post(url, json={"data": data})
    print(r.text)
    r = requests.post(url, json={"data": data})
    print(r.text

C#客户端

C#客户端实现如下所示:

using System;
using System.IO;
using System.Net;
using System.Text;
namespace SabberStoneBasicAI
{
  internal class Program
  {
    private static readonly Random Rnd = new Random();
    private static void Main1()
    {
      Console.WriteLine("Starting test setup.");
      string url = "http://localhost:8000/post";
      HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
      request.Method = "POST";
      //request.Timeout = "800"; // 设置请求超时,单位毫秒。
      request.ContentType = "application/json";
      string postData = "{\"data\":\"value1\"}";
      byte[] data = Encoding.UTF8.GetBytes(postData);
      request.ContentLength = data.Length;
      // 定义请求流
      Stream myRequestStream = request.GetRequestStream();
      myRequestStream.Write(data, 0, data.Length);
      myRequestStream.Close();
      // 发送
      HttpWebResponse response = (HttpWebResponse)request.GetResponse();
      // 获取返回值
      Stream myResponseStream = response.GetResponseStream();
      StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
      string retString = myStreamReader.ReadToEnd();
      Console.WriteLine(retString);
      Console.WriteLine("Test ended!");
      Console.ReadLine();
    }
  }
}


相关文章
|
2天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
23天前
|
前端开发 计算机视觉 Python
flask+python 实时视频流输出到前台
该文章介绍了如何使用Flask和Python实现实时视频流输出到网页前端,包括后端通过OpenCV捕获摄像头视频流、处理并编码为JPEG格式,然后以HTTP响应的形式发送给前端显示的完整示例代码和运行效果。
flask+python 实时视频流输出到前台
|
7天前
|
JSON API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
14 6
|
7天前
|
Python
使用Python和Flask构建简单的Web应用
使用Python和Flask构建简单的Web应用
19 6
|
15天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
26天前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
27天前
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
|
27天前
|
中间件 Python Windows
【Azure 应用服务】Python flask 应用部署在Aure App Service中作为一个子项目时,解决遇见的404 Not Found问题
【Azure 应用服务】Python flask 应用部署在Aure App Service中作为一个子项目时,解决遇见的404 Not Found问题
|
27天前
|
Python Windows
【Azure 应用服务】Python flask 应用部署在Aure App Service 遇见的 3 个问题
【Azure 应用服务】Python flask 应用部署在Aure App Service 遇见的 3 个问题
|
27天前
|
Python Windows 内存技术
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?