如何将一个Json对象从c客户机发布到服务器上的PythonAPI?

2024-10-01 17:41:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从C#(使用JObject)向Python Flask api发送JSON数据。每当我在本地主机中进行测试时,pythonapi都能够以JSON的形式读取数据。但是当代码部署到服务器中时,它无法读取数据,并且正在中断。C代码部署在azurevm的IIS中,Python作为微服务部署在Azure中。我做错什么了?这两种语言之间是否有其他的通信方式,而不是JSON。您可以找到以下代码片段:

C#:

string personjson = HttpContext.Request.Form["personinfo"]
var json = JObject.Parse(personjson);

_client = new HttpClient { BaseAddress = new 
Uri("http://mypythonapi.azurewebsites.net") };
_client.DefaultRequestHeaders.Clear();
_client.DefaultRequestHeaders.Accept.Clear();              
_client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));

var response = await _client.PostAsJsonAsync("/insertPersonNode", 
json);
var message = response.IsSuccessStatusCode ? "Data posted" : $"Failed to post data. Status code:{response.StatusCode}";

Python:

^{pr2}$

Tags: 代码clientjsonnewresponsevar部署读取数据
1条回答
网友
1楼 · 发布于 2024-10-01 17:41:36

最后,我找到了解决这个问题的办法。用PostAsync代替postsjsonasync对我很有用。在

var response = await _client.PostAsync("/insertPersonNode", new StringContent(personjson, Encoding.UTF8, "application/json"));

相关问题 更多 >

    热门问题