当前位置: 首页 > article >正文

C# httpclient 和 Flurl.Http 的测试

关于C#调用接口或Post,Flurl封装了httpclient, CSDN有哥们提供了一个公网的测试网站,可以测试Post调用,我写了2个函数,测试httpclient和Flurl使用Post:

async 和 await 是成对使用的,为了接受web异步返回的数据,winform的button控件中使用,只需要加上async关键字,然后在await中等待函数执行返回。

using Flurl;
using Flurl.Http;
using System.Net.Http.Headers;
using System.Net;
using System.Text;
using Newtonsoft.Json;
using System.Xml.Linq;

namespace mdyPost
{
    public partial class Form1 : Form
    {    
        public string txt = "";

        public Form1()
        {
            InitializeComponent();
        }

        private async void toolStripButton1_Click(object sender, EventArgs e)
        {
            await PostFlurl();
            textBox1.Text = txt;
        }

        public async Task PostFlurl()
        {
            var url = "https://api.apiopen.top/api/login";
            var objData = new { account = "309324904@qq.com", password = "123456" };         

            txt = await url.PostJsonAsync(objData).ReceiveString(); 
        }

        public async Task PostHttpclient()
        {
            string url = "https://api.apiopen.top/api/login";
            var objData = new  { account = "309324904@qq.com", password = "123456"  };

            using (var client = new HttpClient())
            {   
                HttpResponseMessage response = await client.PostAsync(url, new StringContent(JsonConvert.SerializeObject(objData), Encoding.UTF8, "application/json"));           

                textBox1.Text = await response.Content.ReadAsStringAsync();
            }
        }




        public async Task<string> Post()
        {         
           
            string url = "https://devops.seres.cn/v1/completions";
            var ddd = new { Bearer = "sk-3ssmz98iy1r65cOp6cCeEcB1884c4929B583Ab4e8cE0674c", content = "你是" };
            var headers = new { Authorization = "Bearer your_token_here" }; 


            var r = await url.WithHeader("Content-Type", "application/json").PostJsonAsync(ddd).ReceiveString(); 
                                 

            /*
            string url = "https://ldmdy-seres-cn-9wcweeu8000011n.ztna-dingtalk.com/api/v2/open/worksheet/getFilterRows";
            var ddd = new 
            { 
                appKey = "8f93f8b3dc7d4d3d", 
                sign = "MjBlYWQ2OTE3NWVkYzYyOWYwYzRjM2E2MTcxZGNhYjM0MjhhYjUyNDRmNDU4ZWExOWUwOTA2YzRhMjJhOWRjNg==",
                worksheetId = "ibfxmglptb"
            };*/
         
          
            return r;
        }
    }
}


http://www.kler.cn/a/560298.html

相关文章:

  • 人工智能毕业设计_基于bert,gradio等的垃圾短信过滤系统
  • Python生成器250224
  • SmartMediakit之音视频直播技术的极致体验与广泛应用
  • Quickwit获取Kafka数据源消息
  • Python爬虫实战:从青铜到王者的数据采集进化论
  • 【CS285】为什么需要推导 REINFORCE-Gradient 公式呀?
  • 标定系列——基于标定板的相机内参与LiDAR-相机外参联合标定方法
  • IOS基础面试题
  • 数学建模之数学模型—2:非线性规划
  • Visual Whole-Body for Loco-Manipulation论文复现
  • 【Unity】Unity clone 场景渲染的灯光贴图异位问题
  • 【Java 优选算法】模拟
  • 客户反馈中常见的投诉类型及应对策略
  • OpenBMC:BmcWeb server.run
  • 【OMCI实践】ONT上线过程的omci消息(五)
  • Web刷题之PolarDN(中等)
  • 验证码介绍及生成与验证
  • Python的PyTorch+CNN深度学习技术在人脸识别项目中的应用
  • Android开发数据持久化
  • HTML使用 Vue 3 和 Element Plus 实现图片上传功能