Windows Phone 十五、HttpWebRequest
Windows 运行时中支持网络资源访问的对象:HttpWebRequest 对象
发送 GET/POST 请求,HttpHelper 封装,超时控制。
HttpClient 对象
发送 GET/POST 请求,请求进度监控。
两种常用请求方式:GET 请求
主要是从服务器请求数据
可以传递有限(1024字节)数据
POST 请求
主要是往服务器发送数据,传递数据大小没有限制。
也可以接收服务端数据,但大多数是请求结果标识。
<Grid>
<WebView
x:Name="webView"/>
</Grid>
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
//创建请求对象
HttpWebRequest request = WebRequest.CreateHttp("http://www.baidu.com");
//设置请求参数
request.Accept = "*/*";
request.Method = "GET";
request.Headers["Cookie"] = "key1=value;key2=val";//密码存储区
//发送请求,获取服务端响应
var response = await request.GetResponseAsync();
using (var stream = response.GetResponseStream())
{
using (var reader = new StreamReader(stream))
{
var result = await reader.ReadToEndAsync();
webView.NavigateToString(result);
}
}
}
Index
<StackPanel>
<TextBox x:Name="txt1"/>
<TextBox x:Name="txt2"/>
<TextBox x:Name="txt3"/>
<Button
Content="Send"
Click="Button_Click"/>
</StackPanel>
private async void Button_Click(object sender, RoutedEventArgs e)
{
//建立WebRequest对象
var request = HttpWebRequest.Create("http://localhost:7080/index.ashx");
//设置Method类型为GET/POST
request.Method = "POST";
//设置请求Cookie
request.Headers["Cookie"] = "cookie_key1=CookieValue1;cookie_key2=CookieValue2";
//设置请求UserAgent为常用Chrome代理
request.Headers["User-Agent"] = "Mozilla/5.0(Windows NT 6.3;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/41.0.2243.0 safari/537.36";
//设置请求身份验证网络凭据,用于网络身份验证
//request.Credentials = new NetworkCredential("111", "2222");
var bs = Encoding.UTF8.GetBytes("123:321");
request.Headers["Authorization"] = string.Format("Basic{0}", Convert.ToBase64String(bs, , bs.Length)); //设置请求提交格式
request.ContentType = "application/x-www-form-urlencode";
//待发送的数据 格式与QueryString格式相同
var sendString = string.Format("txt1={0}&txt2={1}&txt3=(2)", txt1.Text, txt2.Text, txt3.Text);
//转换成字节数组用于发送
var buffer = Encoding.UTF8.GetBytes(sendString);
//设置发送请求流
using (var stream = await request.GetRequestStreamAsync())
{
//写到请求体中
stream.Write(buffer, , buffer.Length);
} //发送请求,获取服务端响应
var response = await request.GetResponseAsync();
using (var stream = response.GetResponseStream())
{
using (var reader = new StreamReader(stream))
{
var result = await reader.ReadToEndAsync();
}
}
}
Windows Phone 十五、HttpWebRequest的更多相关文章
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
C# DateTime的11种构造函数 别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...
- [转载]Windows Server 2008 R2 之二十五AD RMS信任策略
原文地址:Windows Server 2008 R2 之二十五AD RMS信任策略作者:从心开始 可以通过添加信任策略,让 AD RMS 可以处理由不同的 AD RMS 群集进行权限保护的内容的授权 ...
- 我的MYSQL学习心得(十五) 日志
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- NeHe OpenGL教程 第三十五课:播放AVI
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第十五课:纹理图形字
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 别人的的MYSQL学习心得(十五) 日志
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池
VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池 终端服务池是指由一台或多台微软终端服务器提供服务的桌面源组成的池.终端服务器桌面源可交付多个桌面.它具有以下特征: 1.终端 ...
- 提高你开发效率的十五个Visual Studio 2010使用技巧
提高你开发效率的十五个Visual Studio 2010使用技巧 相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个ID ...
- VSTO学习笔记(十五)Office 2013 初体验
原文:VSTO学习笔记(十五)Office 2013 初体验 Office 2013 近期发布了首个面向消费者的预览版本,我也于第一时间进行了更新试用.从此开始VSTO系列全面转向Office 201 ...
随机推荐
- ios 单例设计模式
单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类.单例可用性非常高,用于登录用户管理等可供全局调用. + (AccountMa ...
- php bmp中创建图像bmp2gd,让GD支持32位BMP
php GD库可方便的从URL新建一图像, GD中有imagecreatefromjpeg(),imagecreatefromPNG()....等之类的FUNCTION 可有时从URL中读取的切BMP ...
- 李洪强iOS经典面试题143-绘图与动画
李洪强iOS经典面试题143-绘图与动画 绘图与动画 CAAnimation的层级结构 CAPropertyAnimation是CAAnimation的子类,也是个抽象类,要想创建动画对象,应该使 ...
- *HDU3635 并查集
Dragon Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- android——利用SharedPreference做引导界面
很久以前就接触过sharedPreference这个android中的存储介质.但是一直没有实际使用过,今天在看之前做的“民用机型大全”的app时,突然想到可以使用sharedPreference类来 ...
- 如何提高Java并行程序性能??
在Java程序中,多线程几乎已经无处不在.与单线程相比,多线程程序的设计和实现略微困难,但通过多线程,我们却可以获得多核CPU带来的性能飞跃,从这个角度说,多线程是一种值得尝试的技术.那么如何写出高效 ...
- hadoop意外之旅--巧合遇到一只大象
公司面临转型,所有开发也难免面临转型,开始选择自己想要走的方向进行研究. 说来也巧合,最近正好说搭个hadoop环境玩玩,结果遇到转型还被选为大数据小组组长.(尴尬) 开始一场遇到大象之旅,希望能在这 ...
- git 常见问题
RPC failed; error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), er rno 100 ...
- How to reset password for unknow root
1. Click "e" when entering the grub 2. Add option " init=/bin/sh" to linux line. ...
- crontab 管理指定用户的定时任务
创建用户定时任务文件 touch /var/spool/cron/target_user crontab -u target_user /var/spool/cron/target_user 编辑用户 ...