Windows 运行时中支持网络资源访问的对象:HttpWebRequest 对象

发送 GET/POST 请求,HttpHelper 封装,超时控制。

HttpClient 对象

发送 GET/POST 请求,请求进度监控。

两种常用请求方式:GET 请求

主要是从服务器请求数据

可以传递有限(1024字节)数据

POST 请求

主要是往服务器发送数据,传递数据大小没有限制。

也可以接收服务端数据,但大多数是请求结果标识。

HttpWebRequest
     <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的更多相关文章

  1. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  2. [转载]Windows&nbsp;Server&nbsp;2008&nbsp;R2&nbsp;之二十五AD&nbsp;RMS信任策略

    原文地址:Windows Server 2008 R2 之二十五AD RMS信任策略作者:从心开始 可以通过添加信任策略,让 AD RMS 可以处理由不同的 AD RMS 群集进行权限保护的内容的授权 ...

  3. 我的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  4. NeHe OpenGL教程 第三十五课:播放AVI

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. NeHe OpenGL教程 第十五课:纹理图形字

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. 别人的的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  7. VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池

    VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池 终端服务池是指由一台或多台微软终端服务器提供服务的桌面源组成的池.终端服务器桌面源可交付多个桌面.它具有以下特征: 1.终端 ...

  8. 提高你开发效率的十五个Visual Studio 2010使用技巧

    提高你开发效率的十五个Visual Studio 2010使用技巧 相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个ID ...

  9. VSTO学习笔记(十五)Office 2013 初体验

    原文:VSTO学习笔记(十五)Office 2013 初体验 Office 2013 近期发布了首个面向消费者的预览版本,我也于第一时间进行了更新试用.从此开始VSTO系列全面转向Office 201 ...

随机推荐

  1. 【原】iOS学习之Socket

    Socket在百度百科的定义 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 相关的描述 Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进 ...

  2. 【听说是线段树】bzoj1012 [JSOI2008]最大数maxnumber

    一眼看题目吓了一跳:这TM不就是单调队列吗,200000又怎样,大不了我二分嘛 系统提示:成功开启 手残模式 开始瞎写: #include <cstdio> ]; ]; int m,mod ...

  3. java分享第七天-03(递归打印文件目录的树状结构)

    public static void main(String[] args) { File file= new File("e:/list"); printFile(file, 0 ...

  4. MySQL支持的数据类型(3)( 字符串)

    字符串类型 字节 描述及存储需求 char(m) m m为0~255之间的整数 varchar(m)   m为0~65535之间的整数 tinyblob   允许长度为0~255字节,值的长度+1个字 ...

  5. 建设移动端web开发会涉及到的meta标签

    <meta name="format-detection" content="telephone=no"> <meta name=" ...

  6. python技巧 之文件读取

    对于数据分析而言,我们通常需要将文件内容读取到列表中来进行后续的操作. np.array(dataFrame)能将dataFrame类型转换成数组类型. 1.pandas下的文本文件读取(推荐)

  7. UILabel笔记(待完善)

    UIlabel的换行由 numberOfLines 属性控制,当为0时,则会自动换到适合的行数: 换行的模式由 lineBreakMode 属性控制: public enum NSLineBreakM ...

  8. Mysql5.7修改默认密码

    由于 Mysql5.7的默认密码是随机生成的,所以需要修改成我们自己常用的密码 1.修改 my.ini,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 my ...

  9. springMVC、https、GET调用别人提供的接口!!!

    import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpStatu ...

  10. spring <context:component-scan>使用说明(转)

    在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类 ...