.NET集成DeveloperSharp实现http网络请求&与其它工具的比较

简介: 该内容介绍了一个支持.NET Core 2.0及以上和.NET Framework 4.0及以上的HTTP请求调用方法,主要讨论了POST和GET两种形式。POST请求较为常见,涉及调用地址、发送参数、HTTP请求头和编码格式设置。文中提供了一个使用DeveloperSharp库发送POST请求的C#代码示例,用于发送短信,其中`IU.HttpPost`方法用于执行POST请求。此外,还提到了`HttpPost`方法的参数和返回值说明。最后简要提及了GET请求,通常用于URL带有查询参数的情况,并给出一个简单的GET请求示例。

支持.Net Core2.0及以上,支持.Net Framework4.0及以上

http请求调用是开发中经常会用到的功能。在内,调用自有项目的Web Api等形式接口时会用到;在外,调用一些第三方功能接口时,也会用到,因为,这些第三方功能往往是通过http地址的形式提供的,比如:短信服务、在线翻译、地图服务、语音智能、等…

 

http请求调用,又分为Post与Get两种形式。

Post形式的请求相对复杂一些,也更常用,一旦弄明白它, Get形式一看便懂,故我们首先来看看Post形式的请求调用。

使用Post调用http,往往有四个参数需要设置:

(1)     调用地址

(2)     需要发送过去的参数

(3)     http请求头(如果有设置)

(4)     编码格式。常用的为:application/json

 

下面给出一个使用第三方链接“发送短信”的代码示例:

using DeveloperSharp.Framework.CoreUtility; //从NuGet引用DeveloperSharp包

using Newtonsoft.Json; //从NuGet引用Newtonsoft.Json包

--------------------------


       public static object SendMessage(string mobile, string code, string name)

       {

           //创建DeveloperSharp中的IUtility工具

           IUtility IU = new Utility();


           //调用地址

           string requestUrl = "https://prekaka.rainfn.com/kaka/api/v1/activity/uploadUserData";

           //需要发送的参数

           Dictionary<string, object> data = new Dictionary<string, object>

           {

               { "mobile",mobile },

               { "code",code},

               { "name",name}

           };


           //Post形式发送请求调用

           var responsesStr = IU.HttpPost(requestUrl, JsonConvert.SerializeObject(data), null, "application/json");

           object reData = JsonConvert.DeserializeObject<object>(responsesStr);

           return reData;

       }

上例因为没有设置“http请求头”,故HttpPost方法的第三个参数传值为null。

 

HttpPost方法的详细说明如下:

HttpPost(Async)

声明:string HttpPost(string Url, string ParamData = "", Dictionary<string, string> HeaderDic = null, string ContentType = "application/x-www-form-urlencoded");

用途:调用Http-Post请求

参数:(1string Url             --  调用请求的url地址

    (2string ParamData      --  提交的参数

    (3)Dictionary<string, string> HeaderDic  --  存放http头的键值对

    (4string ContentType   --  请求的编码格式,通常有application/x-www-form-urlencoded(默认设置)、multipart/form-data、application/json三种形式

返回:String   --  请求结果(-107开头表示出错)

 

 

最后,我们来说说Get形式的请求调用。

Get形式往往用于url后带问号“?N1=V1&N2=V2&N3=V3”这类的调用。这类调用的特点是:“需要发送的参数”直接挂在了“调用地址”后面。下面直接给出一个示例,你一看便知:

using DeveloperSharp.Framework.CoreUtility; //从NuGet引用DeveloperSharp包

--------------------------


     IUtility ui = new Utility();

     string r = ui.HttpGet("http://localhost:1416/Handler1.ashx?name=kyyk&age=100");

相关文章
|
1月前
|
人工智能 开发者
您使用过哪些AI集成工具提升工作效率
【6月更文挑战第13天】您使用过哪些AI集成工具提升工作效率
|
15天前
|
人工智能 自然语言处理 数据挖掘
利用AI集成工具提升工作效率的实践经验
随着人工智能技术的蓬勃发展,以及当今数字化快速发展的时代,人工智能的运用已经渗透到各个行业和工作领域中,大语言模型在自然语言处理领域的应用也愈发广泛,而且市面上涌现出一批AI集成工具,比如Langchain、Dify、llamaIndex、fastgpt、百炼等,它们为开发者提供了强大的支持和便利,极大地提升了AI模型的构建和管理效率。作为一名热衷于利用新技术提高工作效率的开发者,我也积极尝试将这些工具融入到我的日常工作中,以期望提升工作效率和质量,下面我将分享我是如何使用AI集成工具来提升工作效率的,以及实践经验和心得。
51 1
利用AI集成工具提升工作效率的实践经验
|
2天前
|
JSON 网络协议 数据格式
网络协议基础:HTTP请求与响应详解
【7月更文挑战第11天】HTTP协议作为Web通信的核心,其请求与响应机制是理解网络通信的关键。本文详细介绍了HTTP请求与响应的格式、过程以及常用的请求方法,帮助读者更好地理解HTTP协议的工作原理和应用场景。在实际应用中,HTTP协议的可定制性和灵活性使其能够适应多种
|
2天前
|
存储 NoSQL Redis
【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)
介绍一个简单的工具,用于将Redis数据从一个redis端点复制到另一个redis端点,基于原始存储库转换为.NET 8:https://github.com/LuBu0505/redis-copy-net8
|
9天前
|
人工智能 前端开发 Devops
NET技术在现代开发中的影响力日益增强,本文聚焦其核心价值,如多语言支持、强大的Visual Studio工具、丰富的类库和跨平台能力。
【7月更文挑战第4天】**.NET技术在现代开发中的影响力日益增强,本文聚焦其核心价值,如多语言支持、强大的Visual Studio工具、丰富的类库和跨平台能力。实际应用涵盖企业系统、Web、移动和游戏开发,以及云服务。面对性能挑战、容器化、AI集成及跨平台竞争,.NET持续创新,开发者应关注技术趋势,提升技能,并参与社区,共同推进技术发展。**
10 1
|
10天前
|
安全 网络协议 Java
Java中的网络通信:HTTP详解
Java中的网络通信:HTTP详解
|
10天前
|
监控 关系型数据库 分布式数据库
PolarDB开源项目成熟,强调插件开发与第三方工具集成,打造丰富生态。
【7月更文挑战第3天】PolarDB开源项目成熟,强调插件开发与第三方工具集成,打造丰富生态。插件开发涉及需求分析、接口设计、编码、测试和文档撰写。示例展示了性能监控插件的Go代码实现。此外,与DMS的数据迁移工具及Prometheus+Grafana监控系统的集成示例,展示了其易用性。PolarDB通过开放接口鼓励开发者参与生态建设,共同推动数据库技术进步。
23 1
|
14天前
|
安全
手机kali终端,集成安全集成工具----使用arpspoof工具给电脑断网------断网,网络攻击手段
手机kali终端,集成安全集成工具----使用arpspoof工具给电脑断网------断网,网络攻击手段
|
18天前
|
缓存 网络协议 安全
Android网络面试题之Http基础和Http1.0的特点
**HTTP基础:GET和POST关键差异在于参数传递方式(GET在URL,POST在请求体),安全性(POST更安全),数据大小限制(POST无限制,GET有限制),速度(GET较快)及用途(GET用于获取,POST用于提交)。面试中常强调POST的安全性、数据量、数据类型支持及速度。HTTP 1.0引入了POST和HEAD方法,支持多种数据格式和缓存,但每个请求需新建TCP连接。**
24 5
|
17天前
|
缓存 网络协议 Android开发
Android网络面试题之Http1.1和Http2.0
HTTP/1.1 引入持久连接和管道机制提升效率,支持分块传输编码和更多请求方式如PUT、PATCH。Host字段指定服务器域名,RANGE用于断点续传。HTTP/2变为二进制协议,实现多工处理,头信息压缩和服务器推送,减少延迟并优化资源加载。HTTP不断发展,从早期的简单传输到后来的高效交互。
21 0
Android网络面试题之Http1.1和Http2.0