应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

HttpWebRequest实现通用的Post提交,传递header,token等

3024人阅读 2021/12/12 12:56 总访问:5194352 评论:0 收藏:0 手机
分类: .NET

封装的代码如下:

  1. /// <summary>
  2. /// HttpWebRequest实现的通用的Post提交,传递header,token等
  3. /// </summary>
  4. /// <param name="Url"></param>
  5. /// <param name="Pram"></param>
  6. /// <param name="json"></param>
  7. /// <returns></returns>
  8. public static string HttpPost(string Url, Dictionary<string, string> Pram, string json, string token)
  9. {
  10. string PageStr = string.Empty;
  11. Url += "?";
  12. foreach (var item in Pram)
  13. {
  14. Url += item.Key + "=" + item.Value + "&";
  15. }
  16. Uri url = new Uri(Url.TrimEnd('&'));
  17. byte[] reqbytes = Encoding.UTF8.GetBytes(json);
  18. HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
  19. req.Headers.Add("Authorization", $"Bearer {token}");
  20. req.Method = "post";
  21. // req.ContentType = "application/x-www-form-urlencoded";
  22. req.ContentType = "application/json";
  23. req.ContentLength = reqbytes.Length;
  24. Stream stm = req.GetRequestStream();
  25. stm.Write(reqbytes, 0, reqbytes.Length);
  26. stm.Close();
  27. HttpWebResponse wr = (HttpWebResponse)req.GetResponse();
  28. Stream stream = wr.GetResponseStream();
  29. StreamReader srd = new StreamReader(stream, Encoding.UTF8);
  30. PageStr += srd.ReadToEnd();
  31. srd.Close();
  32. return PageStr;
  33. }

调用示例

  1. public static void ChatQ(string question)
  2. {
  3. var dic = new Dictionary<string, Object>();
  4. dic.Add("prompt", question);
  5. dic.Add("model", "text-davinci-003");
  6. dic.Add("max_tokens", 2000);
  7. dic.Add("temperature", 0.5);
  8. var s = HttpPost("https://api.openai.com/v1/completions", new Dictionary<string, string>(), JsonConvert.SerializeObject(dic), "你的token");
  9. //Console.WriteLine(s);
  10. var result = Newtonsoft.Json.JsonConvert.DeserializeObject<OpenAI_Response>(s);
  11. Console.WriteLine("回答: " + result.choices[0].text);
  12. }

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

ASP.NET MVC Controller接收ajax Post方式发送过来的json对象或数组数据

1、将json数组或者json对象用JSON.stringify()方法序列化成字符串,再将字符串提交到后台。varstuarr=newArray();//创建一...

.net core webapi Post接口传递参数

我希望有个如你一般的人,如山间清爽的风,如古城温暖的光,从清晨到夜晚,从山野到书房,只要最后是你就好传递一个参数:...

WebAPI调用Post传值

创建core项目在项目中创建文件夹。在文件夹中创建webapi控制器,定义好路由。在页面上引入js文件。通过ajax调用api后台方法...

c HttpClient 给webapi Post接口传递一个参数。传递参数的同时传递一个cookie

webapi post传递一个参数是真的坑,有多坑,可以看看这篇文章:https://www.tnblog.net/aojiancc2/article/details/2874 ...

Postman打开黑屏

设置兼容性:以兼容模式运行这个程序就行了

@Postmapping参数接受_spring-boot如何去获取前端传递的参数

原文链接:https://blog.csdn.net/weixin_39875167/article/details/112091649url里的参数通过url里传过来的参数一般有三种...

Post方式提交乱码的问题 8

续写至JavaWeb的流对象获取请求信息 7篇一、创建功能类二、修改提交页面

MySQL vs PostgreSQL

牧云踏歌大佬亲测https://www.bilibili.com/video/BV1sU4y14741?spm_id_from=333.999.0.0https://www.bilibili.com/video/...

ABP 使用阿里人脸身份证比对Post请求、json序列化

全称:【天眼数聚】人像实人认证-人像比对-人脸身份证比对-人脸三要素对比-人证比对-人脸身份证实名认证-人脸对比实名认证-...

实用技术-Postman工具安装与使用 03

一、postman一款可以发送Restful风格请求的工具,方便开发调试。首次运行需要联网注册postman下载及安装:https://blog.csd...

记录一下Postman 正常返回 c 模拟https 请求出现The request was aborted: Could not create SSL/TLS secure channel.

在发送请求前加入如下代码://始终验证服务器证书ServicePointManager.ServerCertificateValidationCallback = (object sen...

restful webapi 多个方法多个put多个get多个Post方法的实现

webapi 如果有多个put或者post方法怎么办呢,用路由参数来区分撒。 比如下面这种一个带参数一个不带 [HttpGet] public I...

axios发送一个Post请求把json参数使用Form Data的形式进行传递

在 Vue 3 中使用 Axios 发送一个 POST 请求,并且以 FormData 的形式传递参数,你可以使用 FormData 对象来构建表单数据。...

axios发送一个Post请求发送一个类似Postman中的x-www-form-urlencoded 格式参数

在 Postman 中,x-www-form-urlencoded 是一种编码格式,它允许你将表单数据以键值对的形式发送到服务器,类似于 HTML 表单...

git 下载与提交命令

一.先使用git clone下载一个项目 git clone &#39;项目地址&#39; 这里要注意: clone的项目里边会自带git的一些信息,...