多语言展示
当前在线:429今日阅读:126今日分享:42

UWP发送Http请求入门

介绍编写UWP应用时(C#语言),使用Windows.Web.Http命名空间下的类实现http请求的发送。
工具/原料

Visual Studio 2015(C#)

方法/步骤
1

首先,创建UWP的主界面,放上一个按钮一个TextBox。双击Button按钮,打开事件处理函数。

2

要在打开的文档的开头添加using Windows.Web.Http。注意这里不用System.Net.Http。两者各是一套实现,函数参数用法都有不小区别,但后者对于UWP来说不便,而且只能用于.NET语言。前者是通用的,且很适合UWP。

3

把事件处理函数添加关键字async,表示这是一个异步方法,可以在里边等待而不会阻塞整个应用。首先创建HttpRequestMessage对象,设置其方法为Get,第二个参数是Uri。

4

接着设置Headers属性的Host和Referer。但是别的很多属性就无法直接赋值,因为是只读的,设置方法见下一步。

5

对于无法直接赋值的属性,使用ParseAdd函数解析字符串,并添加到请求头。关于Cookie的设置也一样。可以使用多个ParseAdd添加多条。

6

接下来,创建HttpClient,使用其异步方法SendRequestAsync。(这只是其中一种方法)使用await等待并获取返回值,类型为HttpResponseMessage。使用响应的StatusCode属性判断响应状态。

7

接下来,创建IHttpContent接口对象,访问响应的内容,使用IInputStream接口对象,引用异步方法ReadAsInputStreamAsync以获取流。然后从流创建StreamReader,全部读完,将字符串保存。

8

然后调用以上新建的资源的Dispose方法,以释放空间和关闭流。最后设置得到的字符串到文本框。

注意事项
1

以上是单次请求,临时创建HttpClient和HttpRequestMessage来发送,其实如果要多次发送请求,还可以创建Client,并设置Client的DefaultRequestHeader属性。HttpRequestMessage中已经设置的项会覆盖HttpClient中的默认项。

2

最终流的读取有多种方式,以上是文本读取的一种方式。还可以使用缓存到Buffer的方式。

推荐信息