eg:生活中你将遇到各种各样的功能的需求,我们需要调用远程接口实现功能;
eg:支付接口(微信,支付宝接口),短信,邮箱接口,地图接口,物流接口,天气接口等等;
第一种方式:通过浏览器来访问
我们可以通过一个特定的地址,向特定的地址中传入特定的参数,得到一堆我们有用的信息,这就叫应用程序接口;
https:restapi.amap.com/v3/geocode/geo 这个网址就是一个远程接口;
第二种方式:通过我们自己写的程序进行远程访问
利用.Net程序,编写代码去访问远程接口,得到想要的东西,.NET为我们提供了很多封装好的类进行远程访问;
WebClient类
WebClient类是用来进行远程访问的,访问方式非常简单,只需要调用其中的方法就行了;
webClicent client=new webClient();实例化一个远程访问类;
byte[] data=client.DownloadData(“输入接口地址”) 通过DownloadData进行远程访问;
string html1=Encoding.UTF-8.GetString(data);
序列化和反序列化
序列化:将数据转换为JSON格式
数据进行序列化的目的是为了进行跨平台传输,JSON是一种通用的格式;
反序列化:将JSON格式转换为数据类型
JSON格式在使用上没有.NET中类和对象好用,所以我们要进行反序列化。
怎样进行序列化和反序列化
序列化:选用类库或者手拼;
反序列化:选用类库;
Newtonsoft.json(常用的序列化和反序列化库)
安装: Nuget中进行安装 PM>install-packge newtonsoft.json
使用:
序列化:
string jsonStr1=JsonConvert.SerializeObject(jsonStr);使用newtonsoft进行序列化
反序列化:
《1》非泛型方法
Jobject obj=(Jobject)JsonConvert.DeserializeObject(html);
Console.WriteLine(obj[“geocodes”][0][“location”]);
《2》泛型方法
student s=JsonConvert.DeserializeObject(str);
console.writeline(s.name);
C# 远程接口访问
![](https://img-home.csdnimg.cn/images/20240711042549.png)