首页 > 其他分享 >.NET Core发送HTTP Post和Get

.NET Core发送HTTP Post和Get

时间:2023-12-28 15:56:12浏览次数:40  
标签:Core HTTP string Get requestUri Add token client 请求

 /// <summary>
        /// 公共方法—— 发送http post请求  2020年6月2日11:20:42  Dennyhui
        /// </summary>
        /// <param name="formData">参数</param>
        /// <param name="requestUri">请求地址</param>
        /// <param name="token">身份验证秘钥,可为空</param>
        /// <returns></returns>
        public async Task<string> Client_Post(MultipartFormDataContent formData, string requestUri, string token)
        {
            //从工厂获取请求对象
            var client = _httpClientFactory.CreateClient();
            //添加请求头
            if (!string.IsNullOrWhiteSpace(token))
            {
                client.DefaultRequestHeaders.Add("Authorization", token);
            }
            HttpResponseMessage response = client.PostAsync(requestUri, formData).Result;
            return response.Content.ReadAsStringAsync().Result;
        }
 
 
        /// <summary>
        /// 公共方法—— 发送http get 请求  2020年6月2日11:22:11  Dennyhui
        /// <para>最终以url参数的方式提交</para>
        /// </summary>
        /// <param name="parameters">参数字典,可为空</param>
        /// <param name="requestUri">例如/api/Files/UploadFile</param>
        /// <returns></returns>
        public async Task<string> Client_Get(Dictionary<string, string> parameters, string requestUri, string token)
        {
            //从工厂获取请求对象
            var client = _httpClientFactory.CreateClient();
            //添加请求头
            if (!string.IsNullOrWhiteSpace(token))
            {
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
            }
            //拼接地址
            if (parameters != null)
            {
                var strParam = string.Join("&", parameters.Select(o => o.Key + "=" + o.Value));
                requestUri = string.Concat(requestUri, '?', strParam);
            }
            client.BaseAddress = new Uri(requestUri);
            //client.DefaultRequestHeaders.Add("Content-Type", "application/json; charset=utf-8");
            return client.GetStringAsync(requestUri).Result;
        }

  

标签:Core,HTTP,string,Get,requestUri,Add,token,client,请求
From: https://www.cnblogs.com/woox/p/17932878.html

相关文章

  • NetCore高级系列文章04---async、await原理揭秘
    async、await本质上是C#提供的语法糖,编译器编译后是状态机的调用。先看如下的一段代码,要main方法中调用了三个await方法 将此dll进行反编译为4.0的代码如下: 可见到两个Main方法,也就是说我们在程序中Main方法上加了async关键词,编译器会编译成一个是异步的一个是非异步方法,程......
  • Getx controller初始化携带参数
    不难的一个问题,写的时候一时间没反应过来。。。//声明controllerSomeControllerextendsGetxController{ finalStringid; finalString?name;SomeController({requiredthis.id,this.name});staticSomeControllergetto=>Get.find();initConfig(){ pr......
  • 项目中使用spring.session.store-type=redis和@EnableRedisHttpSession 的区别
    spring项目的session存在哪里SpringSession提供了多种存储策略,可以选择将session存储在内存、数据库或Redis缓存中。内存存储:这是默认的存储方式,适用于单个应用程序的情况。SpringSession会在应用程序启动时创建一个ConcurrentHashMap对象,用于存储session数据。JDBC存......
  • cocoaPod 执行 pod install 时出现警告:The `XX [Release]` target overrides the `CLA
    最近执行Podinstall安装命令时,控制台输出警告信息:[!]The`XXX[Debug]`targetoverridesthe`CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES`buildsettingdefinedin`Pods/TargetSupportFiles/Pods-XXX/Pods-XXX.debug.xcconfig'.Thiscanleadtop......
  • ASP.NET Core 内置异常中间件的三种方法
    方法一app.UseExceptionHandler(configure=>{configure.Run(asynccontext=>{varexcHandler=context.Features.Get<IExceptionHandlerPathFeature>();varex=excHandler.Error;if(ex!=null){conte......
  • 配置Https访问
    背景:因为https工作工程中使用很多次了,今天给国产机上的tomcat进行部署的时候,发现一个报错,提示配置的协议无效,故记录下处理方法,也记录下整个https的配置过程。报错内容: 这个问题其实在window环境上部署的时候也出现过,windows环境上的解决方式是添加一个本地库tcnative-1.......
  • edgecore.yaml
    CRD-config devices_v1alpha2_device.yaml---apiVersion:apiextensions.k8s.io/v1kind:CustomResourceDefinitionmetadata:annotations:controller-gen.kubebuilder.io/version:v0.6.2creationTimestamp:nullname:devices.devices.kubeedge.iospe......
  • 压测工具(vegeta)-测试haproxy
    一、压测工具vegeta1、介绍Vegeta是一个用Go语言编写的多功能的HTTP负载测试工具,它提供了命令行工具和一个开发库。 官方地址:https://github.com/tsenart/vegeta2、安装Vegeta wgethttps://github.com/tsenart/vegeta/releases/download/v7.0.3/vegeta-7.0.3-linux-......
  • 记一次执行yum命令报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/
    执行yum安装命令时报如下错误:root@docker-test101~]#vi/etc/hosts[root@docker-test101~]#yuminstallopenssl*-yLoadedplugins:fastestmirror,langpacksCouldnotretrievemirrorlisthttp://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=sto......
  • HTTP代理服务器:Go语言下的“网络翻译官”
    开场白:在这个全球化的网络时代,有时我们需要一个“翻译官”来帮助不同系统、不同语言进行交流。今天,我们就来探讨如何使用Go语言,轻松实现这样一个角色——HTTP代理服务器,让我们的网络请求更加畅通无阻!知识点一:什么是HTTP代理服务器?想象一下,你是一名只会说中文的游客,身处一个只会说英......