我使用白日梦作为数据源,它通过SSE提供事件数据。
按照这里的说明,我使用以下代码订阅SSE:
var client = new ServerEventsClient("https://api.pipedream.com/sources/dc_mXugEA/sse")
{
EventStreamRequestFilter = req => req.AddBearerToken("[MYTOKEN]"),
OnMessage = message => Console.WriteLine(message.Json)
}.Start();但是,我得到了一个带有消息的System.Net.WebException:“远程服务器返回了一个错误:(404)没有找到”。
但是如果我直接使用HttpClient,它就成功了:
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "[MYTOKEN]");
using var reader = new StreamReader(await client.GetStreamAsync("https://api.pipedream.com/sources/dc_mXugEA/sse"));
while (!reader.EndOfStream)
{
Console.WriteLine($"Received message: {await reader.ReadLineAsync()}");
}当然,我希望使用ServerEventsClient而不是HttpClient来避免样板循环代码。但是为什么ServerEventsClient在这种情况下不起作用呢?
https://stackoverflow.com/questions/64629022
复制相似问题