【Windows 8 Store App】学习三:HTTP

1,HttpClient

Win 8提供了System.Net.Http.HttpClient类进行常用的http网络请求,HttpClient提供了以下构造函数。

HttpClient构造函数

第2个构造函数常用来处理在请求前添加header(如:Cookie),响应时解析header。

下面使用HttpClient处理POST/GET提交:

#1. 让我们先来定义好key-value类型的参数,用于提交。

HttpClient Parameter

#2. POST/GET:

HttpClient POST/GET


#3. 处理Cookie,

通常情况下我们需要保持client与server之间的session,server端是通过cookie来识别一个client与另外一个client的。

我们使用上面HttpClient的第2个构造函数,通过MessageProcessingHandler和CookieContainer来每次请求前,把cookie添加到request的header中。

CookieHandler


使用方式跟前面POST/GET代码唯一不同的是:在构造HttpClient对象时,传入CookieHandler:

var httpClient = new System.Net.Http.HttpClient(new CookieHandler());

2, 文件下载

#1 HttpClient提供了字节流的方式来读取文件,但我测试发现,下载是成功了,但文件经常出现缺少字节的情况。不清楚是怎么回事。

HttpClient字节处理

 

#2. BackgroundDownloader

Win 8提供了BackgroundDownloader可以用于在后台下载文件,它也可以调用setRequestHeader向请求中添加header信息(与上面的CookieHandler结合使用,可以处理那些需要登陆才能下载文件的情况),下面演示了普通的文件下载:

BackgroundDownloader文件下载


 

posted on 2013-05-22 18:51  TroyZ  阅读(521)  评论(0编辑  收藏  举报