首页 > 编程语言 >C# 使用Flurl http请求处理流式响应

C# 使用Flurl http请求处理流式响应

时间:2024-08-05 15:50:34浏览次数:16  
标签:http 请求 C# content buffer Flurl string

AI对话接口采用流式返回,使用Flurl处理返回的数据流

using Flurl;
using Flurl.Http;

[HttpPost]
public async Task<string> GetLiushiChatLaw()
{
    //1、请求参数,根据实际情况
    YourModel request = new YourModel();string allStr = "";
   string chatLawApiUrl = "http://请求地址";
//2、请求。接收类型流Stream,处理请求响应 using (var stream = await chatLawApiUrl.WithHeader("Content-Type", "application/json") .SetQueryParams(new { access_token = "token" }) .PostJsonAsync(request) .ReceiveStream()) { // 逐块读取并处理响应内容 var buffer = new byte[102]; int bytesRead; while ((bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length)) > 0) { // 3、结果转换为字符串 string content = System.Text.Encoding.UTF8.GetString(buffer, 0, bytesRead); allStr += content; _logger.LogInformation(content); } } return allStr; }

 

标签:http,请求,C#,content,buffer,Flurl,string
From: https://www.cnblogs.com/handsomeziff/p/18343375

相关文章

  • 如何获取部署在 Azure 应用服务上并通过 Microsoft 身份提供商进行身份验证的 Python
    我使用PythonDash包构建了一个Web应用程序,并将该应用程序部署在Azure应用服务上。Web应用程序当前通过Azure门户的应用程序服务使用Microsoft身份提供程序进行身份验证。但是如何获取登录用户的详细信息呢?在本地运行时如何验证我的Web应用程序?我当前的登录流......
  • 【Dynamo】AnyCAD使用Dynamo绘制三维模型(二)——生成序列和范围的几种方式
    说明:Dynamo为开源项目,开源地址:https://github.com/DynamoDS/Dynamo.git本文章使用版本:v3.0.3范围使用Range节点start和end分别表示范围的边界,step表示步长。如下为[1,10]范围内步长为2结果​使用CodeBlock节点在CodeBlock填写如下形式的代码beginning..end..step-si......
  • MybatisPlus自带方法报错BindingException: Invalid bound statement (not found)
    问题描述: MybatisPlus自带方法如xxx.list()xxx.save()或则xxMapper.selectList()... 等方法无法使用报错:Invalidboundstatement(notfound) 但是自己定义的sql方法可以使用问题排查: 1、自定义方法可使用排除xml位置不正确,包扫描没扫到(target目录下已生成对应的mapper和xml......
  • 【YashanDB数据库】自关联外键插入数据时报错:YAS-02033 foreign key constraint viola
    问题现象使用如下的sql语句创建自关联外键表:droptableself_f_key;createtableself_f_key(t1numberprimarykeynotnull,t2number);createindexi_s_1onself_f_key(t2);altertableself_f_keyaddconstraintc_0001foreignkey(t2)referencesself_f_key(t1);......
  • CF1993C Light Switches 题解
    CF1993CLightSwitches题解题目大意有\(n\)盏灯,第\(i\)盏灯亮着的时间为\([a_i+bk,a_i+(b+1)k-1]\),其中\(k\)为给定常数,\(b\)为任意非负偶数。求一个最小的\(t\),使得在时间\(t\)所有灯都是亮着的。Solve令\(m=2k\),显然所有灯的开关状态以\(m\)为周期,所以我们......
  • python discord bot nextcord 斜线命令 更改语言
    我想根据用户的不和谐语言更改斜杠命令的名称。如果语言是韩语/서버如果语言是英语/服务器像这样。我可以使用ctx.locale更改里面的内容,但我也想更改名称和描述。我应该怎么办?当我问ChatGPT时,他们说的很奇怪,谷歌上也没有任何信息。但是有一个机器人可以根据语言......
  • SciTech-BigDataAI-ImageProcessing-OpenCV-OpenCV modules
    OpenCVmoduleshttps://docs.opencv.org/3.4/IntroductionOpenCVTutorialsOpenCV-PythonTutorialsOpenCV.jsTutorialsTutorialsforcontribmodulesFrequentlyAskedQuestionsBibliographyMainmodules:core.Corefunctionalityimgproc.ImageProcessingim......
  • CF1993D-二分+dp处理中位数
    CF1993D-二分+dp处理中位数大致题意给定两个正整数n和k以及另一个由n个整数组成的数组a。在一次操作中,可以选择a的任意一个大小为k的子数组,然后将其从数组中删除,而不改变其他元素的顺序。更正式地说,假设$(l,r)$是对子数组\(a_l,a_{l+1},…,a_r\)的操作,使得\(r......
  • <el-date-picker清空格式不正确
    在使用element组件的时间选择器时,自带的清楚按钮清空的数据格式不正确,默认是清空为NULL,但是我需要的是空数组.<el-date-pickerv-model="searchTimeData"type="daterange"align="right"unlink-panels......
  • 性能测试瓶颈之CPU问题分析与调优
    一、CPU的简介CPU概念:CPU(中央处理器:CentralProcessingUnit),是一块超大规模的集成电路,是计算机的运算核心【拿到数据后先计算】和控制核心【然后再根据计算结果去控制】。功能:主要是解释计算机指令以及处理计算机软件中的数据。电脑中所有操作都由CPU负责读取指令,对指令译码并......