windows 8 中 使用 httpclient
基本技术点
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的更多相关文章
- 详解 UWP (通用 Windows 平台) 中的两种 HttpClient API
UWP (通用 Windows 平台) 应用开发者在构建通过 HTTP 与 Web 服务或服务器断点交互的应用时,有多种 API 可以选择.要在一个托管 UWP 应用中实现 HTTP 客户端角色,最常 ...
- Windows Store App 网络通信 HttpClient
HttpClient类包含在System.Net.Http命名空间中,是向以URI标识的网络资源发送HTTP请求和接收HTTP响应的基类.在HTTP请求中使用该类可以向Web服务发送GET.POST等 ...
- gvoory脚本中关于HttpClient使用详解实例
一.gvoory脚本中关于HttpClient使用详解实例 HttpClient:是一个接口 首先需要先创建一个DefaultHttpClient的实例 HttpClient httpClient=n ...
- 在 Windows Phone 中,为 Grid 添加 Tilt 效果
在 Windows Phone 中,Tilt 效果是比较经典的效果,我们可以很简单的为按钮等控件添加这样的效果(使用 Windows Phone Toolkit 的Tilt 效果),但是,如果我们想要 ...
- 如何托管ASP.NET Core应用到Windows Service中
(此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:正在构思一个中间件的设计,考虑是否既可以使用最新的技术,也可以兼顾传统的部署模式.所以有 ...
- UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...
- 虚拟机和windows主机中的文件共享
22:54 2015/12/22 虚拟机和windows主机中的文件共享:特别推荐:我的一个老师特别推荐的方法:在windows安装SSH Secure File Transfer Client,直接 ...
- Windows编程中UNICODE和_UNICODE定义问题
Windows编程中UNICODE和_UNICODE定义问题 先转一篇文章: 初学Windows SDK编程时碰到过这个问题,相信很多初学Windows编程的人也都碰到过,后来慢慢搞明白些了,但有时别 ...
- 如何在windows计划中调用备份sharepoint2010网站集的powershell脚本
最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Wind ...
随机推荐
- Java 性能调优指南之 Java 集合概览
[编者按]本文作者为拥有十年金融软件开发经验的 Mikhail Vorontsov,文章主要概览了所有标准 Java 集合类型.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文: 本 ...
- LeetCode题解Transpose Matrix
1.题目描述 2.题目描述 直接申请内存,转置即可. 3.代码 vector<vector<int>> transpose(vector<vector<int> ...
- Oracle EBS 请求参数关联
- elastic search报错——“failed to obtain node locks”
启动时报错信息: 这里写图片描述 寻找主要信息:failed to obtain node locks这里写图片描述简单理解为:绑定节点失败!!! 百度后,好多人同样遇到了这个问题,导致的原因可能是因 ...
- [转] JavaScript生成GUID的算法
原文地址: http://www.cnblogs.com/snandy/p/3261754.html 全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID( ...
- [CSS]关于z-index与position的一次奇异经历
前言: 前不久,同事S遇到了一个关于position和z-index的问题. 他折腾了一天没搞定,群发了邮件寻求帮助, 我一开始以为很简单,就主动说帮忙,简单尝试之后,才发现貌似没那么简单. 问题主要 ...
- Ubuntu 64 + IntelliJ IDEA + Genymotion 搭建Android开发环境
环境搭建所需可至 http://pan.baidu.com/s/1gd1Kf4Z 下载 注: 此处假定 Ubuntu 用户名为 chenfei 开发相关全部存放在 /home/chen ...
- SQLException: Io 异常: Connection refused ERR=12514 ERR=1153异常处理过程
solr更新索引连接数据库地址时发生的错误,数据库拒绝连接,经过调查是因为solr的data-config.xml 文件中配置数据库连接的地方,不应该配置数据库实例名而应该是数据库server_nam ...
- Python的网络编程 Socket编程
Socket是进程间通信的一种方式,与其他进程间通信的一个主要不同是:能实现不同主机间的进程间通信,网络上各种各样的服务大多都是基于Socket来完成通信的,要解决网络上两台主机间的通信问题,首先要唯 ...
- web应用安全发展与介绍
安全与安全圈的认识 中国黑客的发展过程:1990年代初,部分人开始研究黑客技术 1997-1999年,黑客团队涌现,进入黄金时代, 21世纪初,黑客工具傻瓜化,门槛降低,黑客精神不在… 圈内熟知的安全 ...