使用C#调用http API 接口获取数据展示 以及 .NET、Csharp和ASP.NET的关系和区别

一、使用C#调用http API 接口获取数据展示 

    我这里使用 Visual Studio.Net 编译和执行 C# 程序,版本是Visual Studio2017,步骤如下:

    启动Visual Studio2017。在菜单栏上,选择 File文件 -> New新建 -> Project项目,从模板中选择 Visual C#,然后选择 Windows桌面。在右边选择 Console Application即控制台应用。在下方为项目定一个名称,并可以选择程序存放位置。其它默认,然后点击 OK 按钮。

    PS:什么是控制台程序?控制台程序就是运行在dos窗口,没有可视化的界面。可以通过Dos窗口进入输入和输出显示。

    创建项目完成后,新项目会出现在解决方案资源管理器(Solution Explorer)中。左边会出现代码编辑器,并有初步框架代码,如下:

using System;  //Using 关键字, System命名空间!
namespace HelloWorldApplication //namespace声明命名空间,包含一个helloworld的类!
{
    /* 类名为 HelloWorld */
    class HelloWorld  
    {
        /* main函数 */
        static void Main(string[] args)//main函数是C#的接入口!
        {
            /* 我的第一个 C# 程序 */
            Console.WriteLine("Hello World!");//这个一句输出语句!
            Console.ReadKey();//这个语句为了防止输出窗口一跳而过!
        }
    }
}

    接下来就是开始在代码编辑器(Code Editor)中编写代码了。我这里使用的命令空间TestApplication,在其下的class中的main方法里编写。注意需要使用Using引入相关的包。代码如下:

Using System; 
Using System.Net.Http;
Using System.Net;
Using System.Text;
Using System.IO;

namespace TestApplication
{
	class testHttp
	{
		private static HttpClient client = null;
		static void Main(string[] args)
		{
			Console.WriteLine();
			string URL = "http://www.baidu.com";
			string data = "{\"unid\":\"1C29E1D\",\"data\":[{\"name\":\"level\",\"value\":\"1\"}]}";
			string strEncoding = "";
			Encoding encoding = Encoding.Default;
			
			HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
			request.Method = "post";
			request.ContentType = "application/json";
			bytes[] buffer = encoding.GetBytes(data);
			request.ContentLength = buffer.Length;
			request.GetRequestStream().Write(buffer, 0, buffer.Length);
			HttpWebResponse response = (HttpWebResponse)request.GetResponse);
			
			Console.WriteLine("http status:");
			Console.WriteLine(response.StatusCode)
			Console.WriteLine(response);
			
			StreamReader reader = new StreamReader(response.GetResponseStream());
			string result = reader.ReadToEnd();
			Console.WriteLine("result:");
			Console.WriteLine(result);
		}
	}
}

    点击 Run 按钮或者按下 F5 键来运行程序。会出现一个命令提示符窗口(Command Prompt window),运行后显示调用HTTP请求后获取到的数据。

    这样一个c#程序,使用C#调用HTTP接口拿到数据的程序就开发完成了。

二、.NET、Csharp和ASP.NET的关系和区别

    .NET、Csharp、C#和ASP.NET都是和windows相关的技术和工具,ASP.NET之前还有一个ASP技术,已经很老了,目前已经被淘汰就不提了。

1. 关于.NET

    .NET是一种用于构建多种应用的免费开源开发平台。切记:.NET是一个平台,一个抽象的平台的概念。在其上可以使用多种语言,比如C#、ASP、VB等开发语言。可以开发Web应用、Web API和微服务、移动应用、桌面应用、Windows服务等。可以认为是一个可以开发全平台应用的万能平台。.NET平台的核心是.NET Framework,它包括两个关键:一是Common Language Runtime(公共语言运行时),这是.NET应用程序运行时的环境,提供内存管理、代码安全性检测等等功能。另一个是.NET Framework Class Library,.NET框架类库(提供大量应用类库、提高开发效率)。.NET就像java开发中的Java虚拟机。

2. 关于C#和Csharp

    C#就是Csharp,它是一个程序设计语言,注意是一门开发语言,和JAVA/PYTHON/PHP概念类似。因为#也读作sharp,sharp即锐利、强大的意思。c#是微软.net framework的主要语言,可以用在网站,桌面应用等方面。微软将这门语言开发成全部面向对象(实际是实习JAVA),取消了面向过程,再起名字的时候,因为C/C++在先,就起名字为“C++++”,即4个加号,为了简单,就写成了“C#”,而#就是4个加号。C#在.NET 平台上运行也是如鱼得水,两者合作非常完。

3. 关于 ASP.NET

    ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。用微软公司ASP.NET快速入门中的一句话来解释,ASP.NET是用于生成基于Web的应用程序的内容丰富的编程框架。编写asp.net通常包括两部分的代码:网页层和后台处理层.网页就是用标记语言来写的,而网页对应的后台处理程序则需要.net语言来完成,目前主要是采用c#和vb.net。可以说整个的asp.net网站通过c#或者vb.net来实现。

    .NET 程序员一般都以 C# 语言为主,.NET开发就你认为是使用C#开发就行。C#的语法相对C和C++要多一些,但C#相对来说语法都比较固定,使用起来却都很容易。看知乎上有一个将.NET和java相关概念对比的说法,挺好:net的一开始都是按java的概念迁移来对比的,jvm对应clr,Java SE Runtime Environment(JRE)对应 .net framework, jdk对应.net framework sdk,java对应C#,clr和jvm一样,上面可以有很多种语言。

    在java平台上可以开发web,服务,界面程序,安卓,C#也可以开发web,服务,界面exe程序,手机app。spring里面东西好像比较多,.net有移植的spring.net,但是更应该对应asp.net mvc + unity啥的。java体系跨平台,C#体系一开始用mono现在由微软主导的 .net core 跨平台。java一般用JetBrains开发,现在流行使用IDEA,C#一直是用VS开发为主。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林戈的IT生涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值