首页 > 编程语言 >C# http请求 ( post方式 JSON格式 )

C# http请求 ( post方式 JSON格式 )

时间:2024-02-22 14:34:06浏览次数:21  
标签:streamWriter http string C# json JSON httpWebRequest using

直接上代码

using System.Net;
using System.IO;

private void btnPost_Click(object sender, EventArgs e)
 {
            this.txtResult.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "  准备请求" + "\r\n");

            //json参数
            string json = "{ " +
                         "\"query\": \"" + "要查询的问题内容" + "\" , " +
                         "\"top_k\": 1, " +
                         "\"score_threshold\": 0.9, " +
                         "\"history\": [], " +
                         "\"stream\": false, " +
                         "\"model_name\": \"xinghuo-api\", " +
                         "\"temperature\": 0.7, " +
                         "\"max_tokens\": 0, " +
                         "\"prompt_name\": \"default\" " +
                        " } ";
            
            //请求
            string strAnswer = postJson(this.txtUrl.Text, json);

            this.txtResult.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "  返回值:" + strAnswer + "\r\n");
}       

http请求函数

private string postJson(string strUrl, string strJsonParam)
{
            try
            {
                string resultTxt="";
          //WebRequest httpWebRequest = HttpWebRequest.Create("http://localhost/CallCenter2/CallCenter2/Ajax_GridView_Select.php");
                WebRequest httpWebRequest = HttpWebRequest.Create(strUrl);

                httpWebRequest.ContentType = "application/json"; //;charset=UTF-8  ;charset=utf8
                httpWebRequest.Method = "POST";

                using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                {
                    //string json = "{\"user\":\"李国林\"," +
                    //              "\"password\":\"AA1122233444\"}";
                    string json = strJsonParam;
                    streamWriter.Write(json);
                    streamWriter.Flush();
                    streamWriter.Close();
                }

                WebResponse httpResponse = httpWebRequest.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    resultTxt = streamReader.ReadToEnd();
                }
                return resultTxt.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show("出错!" + ex.Message);
                return "出错! " + ex.Message;
            }
}

 

标签:streamWriter,http,string,C#,json,JSON,httpWebRequest,using
From: https://www.cnblogs.com/hailexuexi/p/18027256

相关文章

  • docker安装部署mysql8以及创建数据库
    mysql安装dockerpullmysql:8.0#创建mysql相关目录mkdir-p/server/data/docker/mysql/master/datadirdockerrun--namemysql-p53306:3306--restart=always--privileged=true\-v/server/data/docker/mysql/master/datadir:/var/lib/mysql\-v/s......
  • [ABC259Ex] Yet Another Path Counting 题解
    Description有\(N\)行\(N\)列的网格图,只能向下或向右走,合法路径的开端和结尾的格子上数字一样找到合法路径条数,对\(998244353\)取模\(1\leqN\leq400,1\leqa_{i,j}\leqN^2\)。Solution有一个\(O(n^4)\)的做法是每次枚举起点和终点然后用组合数计算答案,但是由于同......
  • vbscript关键
    vbscriptset:set关键字把对象赋值给变量,setmyobject=createobject()dim:声明变量使用的关键字,dimvInt=&&&条件判断:f语句 -假如您希望在条件为true时执行一系列的代码,可以使用这个语句If...Then...Else语句 -假如您希望执行两套代码其中之一,可以使用这个语句If.........
  • Replace on Segment
    看了一下数据范围就知道是区间DP像这种选择区间的操作,我们一般都会猜一个结论:对区间\([l,r]\)的某种操作序列,如果没有一次操作是覆盖了整个区间的,那么中间一定可以找到一个分段点(这样才可以进行区间DP的枚举分段点的经典转移)实际上,这道题目也是有类似的性质的然后放一下正式证......
  • 从零开始写 Docker(一)---实现 mydocker run 命令
    本文为从零开始写Docker系列第一篇,主要实现mydockerrun命令,构造了一个具有基本的Namespace隔离的简单容器。如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原生】即可订阅本文主要实现我们的第一个命令mydoc......
  • 【百度智能云】AIGC-文生图
    从地址https://console.bce.baidu.com/ai/#/ai/intelligentwriting/app/list创建应用,然后复制应用的APIKey和SecretKey到下文的API_KEY_AIGC和SECRET_KEY_AIGCimportjsonimportosimporttime#debugimporthttp.clientimportsslfromurllib.parseimport......
  • colab运行google最新开源模型Gemma
    Google开源了新的大模型Gemma,Gemma是一系列轻量级、最先进的开放式模型,采用与创建Gemini模型相同的研究和技术而构建。Gemma由GoogleDeepMind和Google的其他团队开发,其灵感来自Gemini,其名称反映了拉丁语_gemma_,意思是“宝石”。除了模型权重之外,我们还发布了工具来支持开......
  • [dotnet-Sec]初探反序列化
    [dotnet-Sec]初探反序列化参考Github上y4✌的开源笔记,狠狠学!环境搭建.NET:5.0IDE:Rider(JB家族)新建项目选择.NETCore(支持跨平台)下的控制台应用程序,然后创建这是接触到的关于dotnet的第一个反序列化demo,使用的是BinaryFormatter生成二进制流//Disablethewarning.#pragma......
  • golang 读取excel 保存xml
    1、首先下载第三方excel读取库gogetgithub.com/xuri/excelize/v22、读取xml库,未使用默认xml库 gogetgithub.com/beevik/etreepackagemainimport( "fmt" "github.com/beevik/etree" "github.com/xuri/excelize/v2")funcLoadExcelAndSaveXML(){ ......
  • Veracrypt解密
    如何识别加密卷veracrpyt的加密方式1、创建文件型加密卷文件型加密卷类型的识别:重点关注大文件,一般加密文件的大小会比普通文件大很多,大小必须是512字节的整数倍2、加密非系统分区或者外部驱动设备可以查看设备的十六进制数据,发现文件开头数据全部杂乱无章,没有正常文件系......