基本技术点

 

  windows 8 中 使用 httpclient 代替 windows phone 中的 httpwebclient , 使用方法 也有些不同 。

  下面是windows 8种使用 httpclient的各种方式

  a 以get的方式 对服务器发起请求 获得string

  HttpResponseMessage response = await httpClient.GetAsync(resourceUri); // await关键字 异步加载 * resourceUri 是请求的Url

  string statues_string = ((int)response.StatusCode) + " " + response.ReasonPhrase + Environment.NewLine; // 服务器返回 请求的 状态

  responseBodyAsText = await response.Content.ReadAsStringAsync(); //将 请求返回的转化为 string

  

  b 以get的方式 对服务器发去请求 接受返回来的流

  string resourceAddress = http://www.baidu.com";

  HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, resourceAddress);

  HttpResponseMessage response = await httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

  OutputField.Text = response.StatusCode + " " + response.ReasonPhrase + Environment.NewLine;

  StringBuilder responseBody = new StringBuilder();

  using (Stream responseStream = await response.Content.ReadAsStreamAsync())

  {

  byte[] responseBytes = new byte[responseStream.Length];

read = await responseStream.ReadAsync(responseBytes, 0, responseBytes.Length);

  }

  c 以post的方式 上传 string

  HttpResponseMessage response = await httpClient.PostAsync(resourceAddress, new StringContent(RequestBodyField.Text));

  catch (HttpRequestException hre)

{

rootPage.NotifyUser("Error", NotifyType.ErrorMessage);

OutputField.Text = hre.ToString();

}

  catch (TaskCanceledException)

{

rootPage.NotifyUser("Request canceled.", NotifyType.ErrorMessage);

   }

  finally {

    Helpers.ScenarioCompleted(StartButton, CancelButton);    

     }             //各种异常处理

  

  d 以post的方式 上传流数据

  byte[] subData = new byte[size];

  for (int i = 0; i < subData.Length; i++)

  {

subData = 64;

}

  Stream stream=(Stream)new MemoryStream(subData);

  StreamContent streamContent = new StreamContent(stream);

  string resourceAddress =“http://www.baidu.com”;

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, resourceAddress);

  request.Content = streamContent;

request.Headers.TransferEncodingChunked = true; // 假设我们不知道内容的长度

  HttpResponseMessage response = await httpClient.SendAsync(request); //发送数据

  若消息返回来后 数据都在response中

windows 8 中 使用 httpclient的更多相关文章

  1. 详解 UWP (通用 Windows 平台) 中的两种 HttpClient API

    UWP (通用 Windows 平台) 应用开发者在构建通过 HTTP 与 Web 服务或服务器断点交互的应用时,有多种 API 可以选择.要在一个托管 UWP 应用中实现 HTTP 客户端角色,最常 ...

  2. Windows Store App 网络通信 HttpClient

    HttpClient类包含在System.Net.Http命名空间中,是向以URI标识的网络资源发送HTTP请求和接收HTTP响应的基类.在HTTP请求中使用该类可以向Web服务发送GET.POST等 ...

  3. gvoory脚本中关于HttpClient使用详解实例

    一.gvoory脚本中关于HttpClient使用详解实例 HttpClient:是一个接口 首先需要先创建一个DefaultHttpClient的实例 HttpClient httpClient=n ...

  4. 在 Windows Phone 中,为 Grid 添加 Tilt 效果

    在 Windows Phone 中,Tilt 效果是比较经典的效果,我们可以很简单的为按钮等控件添加这样的效果(使用 Windows Phone Toolkit 的Tilt 效果),但是,如果我们想要 ...

  5. 如何托管ASP.NET Core应用到Windows Service中

    (此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:正在构思一个中间件的设计,考虑是否既可以使用最新的技术,也可以兼顾传统的部署模式.所以有 ...

  6. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  7. 虚拟机和windows主机中的文件共享

    22:54 2015/12/22 虚拟机和windows主机中的文件共享:特别推荐:我的一个老师特别推荐的方法:在windows安装SSH Secure File Transfer Client,直接 ...

  8. Windows编程中UNICODE和_UNICODE定义问题

    Windows编程中UNICODE和_UNICODE定义问题 先转一篇文章: 初学Windows SDK编程时碰到过这个问题,相信很多初学Windows编程的人也都碰到过,后来慢慢搞明白些了,但有时别 ...

  9. 如何在windows计划中调用备份sharepoint2010网站集的powershell脚本

    最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Wind ...

随机推荐

  1. Ubuntu16安装GPU版本TensorFlow(个人笔记本电脑)

    想着开始学习tf了怎么能不用GPU,网上查了一下发现GeForce GTX确实支持GPU运算,所以就尝试部署了一下,在这里记录一下,避免大家少走弯路. 使用个人笔记本电脑thinkpadE570,内存 ...

  2. [域|Domain] The trust relationship between this workstation and the primary domain failed 此工作站和主域间的信任关系失败

    PS> $cred = Get-Credential domain.sample.com;Reset-ComputerMachinePassword -Credential $cred -Ser ...

  3. ASP.NET 通过配置hiddenSegment禁止目录下资源通过Url形式访问

    根据默认的ASP.NET配置,App_Data下的资源是禁止通过Url形式直接访问的,在实际开发中,可能也会有这样的需求,比如某些是系统资源目录,该目录下的资源也需要像App_Data目录一样禁止访问 ...

  4. 关于Vue中:key="index"的console警告

    在写vue项目时,浏览器的console出现如下警告信息: [Vue warn]: Property or method "index" is not defined on the ...

  5. 关于sys.dm_exec_requests

    我知道SQL Server有很多视图和函数让我来了解SQL Server的运行状态.我还想知道SQL Server上关于来自用户或者应用的活动请求信息.怎么查询这些信息呢? SQL Server的动态 ...

  6. Flask配置文件和 路由系统

    debug = True开启debug模式 当你的代码在界面增减之后不用刷新界面自动更新 app.logger.error("这是error模式") app.logger.info ...

  7. [翻译] CNPPopupController

    CNPPopupController CNPPopupController is a simple and versatile class for presenting a custom popup ...

  8. 基于scrapyd爬虫发布总结

    一.版本情况 python以丰富的三方类库取得了众多程序员的认可,但也因此带来了众多的类库版本问题,本文总结的内容是基于最新的类库版本. 1.scrapy版本:1.1.0 D:\python\Spid ...

  9. 服务器安装LNMP及构建个人站点

    服务器安装LNMP(centos6.6+nginx1.7.12+mysql5.6.24+php5.6.7) 本次安装  centos6.6+nginx1.7.12+mysql5.6.24+php5.6 ...

  10. saltstack-把执行结果存储到mysql服务内

    saltstack把执行的结果保存到mysql中,以便进行命令安全审计 mysql负责存储数据,mysql-python负责收集数据 master需要安装mysql和MySQL-python,mini ...