c# 和python通过FastAPI传递数据
时间: 2024-09-14 12:10:36 浏览: 47
在C#与Python之间通过FastAPI进行数据交换,通常涉及两个方向的数据传输:从C#到Python和从Python到C#。这里介绍一种常见的做法,即通过HTTP RESTful API的方式。
1. **C#向Python FastAPI发送数据**:
C#可以使用HttpClient或者第三方库(如RestSharp)发送HTTP请求,将数据序列化为JSON,这是FastAPI默认接受的数据格式。示例代码如下:
```csharp
using System.Net.Http;
var httpClient = new HttpClient();
var content = new StringContent(JsonSerializer.SerializeObject(yourData), Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync("http://your-python-api-endpoint", content);
```
2. **Python FastAPI接收并处理C#数据**:
在Python的FastAPI应用中,你可以设置一个HTTP endpoint来接收到POST请求,并解析JSON内容。例如,在FastAPI的路由中:
```python
from fastapi import FastAPI, Request
import uvicorn
app = FastAPI()
@app.post("/your-endpoint")
def handle_data(request: Request):
data = request.json()
# 处理接收到的数据
...
return {"message": "Data received"}
```
然后运行FastAPI服务,C#客户端的请求就会被处理。
阅读全文