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 ...
随机推荐
- BZOJ2705: [SDOI2012]Longge的问题
Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一 ...
- HDU 1892 See you~ (二维树状数组)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1892 See you~ Problem Description Now I am leaving h ...
- iOS UIView 动画浅谈
UIView 等会效果简单实现,哪一个登录页面的demo来举例子吧. + (void)animateWithDuration:(NSTimeInterval)duration animations:( ...
- [LintCode] Min Stack 最小栈
Implement a stack with min() function, which will return the smallest number in the stack. It should ...
- 自定义一个字母Button
package com.example.administrator.yunstore.widget; import android.content.Context; import android.gr ...
- *HDU1455 DFS剪枝
Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- Myeclipse使用DB Browser连接数据库错误:OPTION SQL_SELECT_LIMIT=DEFAULT
虽然使用Myeclipse,经过test driver可以使用, 但是不能够查询mysql数据库各个表的数据. 百度了下, 原来是驱动mysql的插件版本很低,重新下了个, 可以了. 下面是链接. ...
- java工程师 学习路线图
- Xamarin.iOS Unified API 注意要点
新数据类型 NATIVE TYPE 32-BIT BACKING TYPE 64-BIT BACKING TYPE System.nint System.Int32 (int) System.Int6 ...
- 一篇UI规范文件
一篇UI规范文件 这是一个UI模板规范,在做B/S版应用程序时比较适用,其实这样的东西算不上什么正规的规范,只是为了适应我们现在面对的开发环境和组织流程做的一些权宜的努力,和解决了一些与程序沟通和接口 ...