以下是使用C#使用EventStream接收远程服务器的POST数据并打印到控制台的示例代码:

using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;

namespace ConsoleApp1
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var cancellationTokenSource = new CancellationTokenSource();
            var httpClient = new HttpClient();

            var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:5000/api/endpoint");
            request.Headers.Add("Accept", "text/event-stream");

            var response = await httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationTokenSource.Token);

            var stream = await response.Content.ReadAsStreamAsync();

            var buffer = new byte[1024 * 4];
            while (true)
            {
                var readCount = await stream.ReadAsync(buffer, 0, buffer.Length, cancellationTokenSource.Token);
                if (readCount > 0)
                {
                    var text = System.Text.Encoding.UTF8.GetString(buffer, 0, readCount);
                    Console.WriteLine(text);
                }
                else
                {
                    break;
                }
            }
        }
    }
}

在这个示例中,我们使用HttpClient发送一个POST请求到远程服务器的指定API端点,同时添加“Accept”头部以指示我们希望接收EventStream格式的响应。然后,我们异步等待响应,并从响应中获取流。接下来,我们使用一个循环来读取流中的数据,并将其打印到控制台。

请注意,这个示例仅适用于EventStream格式的响应,如果响应是其他格式的,则需要相应地处理响应数据。

c# 如果使用eventstream接收远程服务器的post数据打印到控制台

原文地址: http://www.cveoy.top/t/topic/4gZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录