WebClient 类的应用(一)
来源:互联网 发布:网络协议分层口诀 编辑:程序博客网 时间:2024/06/15 18:39
最近,公司在上传数据时,由于数据不在一台服务器上,于是需要进行数据的中转处理。
方法是很多的,早期用的是webservice进行的。
今天发现,System.Net;目录下的WebClient的功能是相当的强大啊。于是研究一下。
废话不说了,还是用例子来说明把。
1.先做一个数据页面
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<style type="text/css">
#txt_url {
width: 361px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
地址:<input id="txt_url" type="text" runat="server" /><br />
姓名:<input id="txt_name" type="text" runat="server" /><br />
性别:<input id="txt_sex" type="text" runat="server" /><br />
<asp:Button ID="btnSend" runat="server" Text="请求" onclick="btnSend_Click" />
</div>
</form>
</body>
</html>注:这是一个很简单的aspx页面,用来向服务器提交页面。
2.相应的后台页面
// 请求按钮
protected void btnSend_Click(object sender, EventArgs e)
{
string url = txt_url.Value.Trim();
string name=txt_name.Value.Trim();
string sex = txt_sex.Value.Trim();
byte[] myData = null;
myData = Encoding.UTF8.GetBytes(name+"|"+sex);
WebClient myWebClient = new WebClient();
// 设置编码格式
myWebClient.Encoding = Encoding.UTF8;
// 加入头信息
myWebClient.Headers.Add("Content-Type", "application/octet-stream");
byte[] resultData=myWebClient.UploadData(url, "POST", myData);// 接受返回信息,并进行相应处理
string strResult = Encoding.UTF8.GetString(resultData);
}注:主要是按钮处理方法,也就是为了,使用WebClient类的UploadData类方法提交到指定的页面。
3.提交到的(服务器端的)处理页面
protected void Page_Load(object sender, EventArgs e)
{
Stream reqStream= Request.InputStream;
byte[] reqByte = StreamToBytes(reqStream);
string reqStr =Encoding.UTF8.GetString(reqByte);
// 返回的信息
Response.Write("成功");
Response.End();
}
public byte[] StreamToBytes(Stream stream)
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
// 设置当前流的位置为流的开始
stream.Seek(0, SeekOrigin.Begin);
return bytes;
}注:首先,接收所来的数据,转化为字符串,然后,进行处理,并返回相应信息。当然,处理页面也可以是ashx类型的页面,在本例中,我做的是一个普通的aspx页面。
最后,看效果:
- WebClient 类的应用(一)
- webclient应用一
- WebClient的研究笔记(一)--认识WebClient
- WebClient的研究笔记(一)--认识WebClient
- WebClient的研究笔记(一)--认识WebClient
- WebClient的研究笔记(一)--认识WebClient
- WebClient的一些简单应用
- WebClient 类的使用(二)
- WebClient类的使用
- WebClient 一
- 虚拟浏览器(WebClient)应用简单例子
- WebClient类的下载方法
- WebClient类的使用方法(C#---网络编程)
- WebClient类
- WebClient 类
- WebClient 类的使用和下载文件
- C#模拟POST提交表单(一)--WebClient
- C#模拟POST提交表单(一)--WebClient
- Qt for Android 配置详细
- flex+java通过RemoteObject方法交互的第二个Demo
- udp输出mpeg TS流 运行几分钟出错
- Linux 文件合并去重
- Activity的taskAffinity属性
- WebClient 类的应用(一)
- 网络流量监测图形分析工具和linux系统运行监控工具汇总
- 三维立体图形欣赏
- order by和group by
- IO流之一
- Hibernate MySQL select 或 insert 含有单引号(\')的string
- IO流之二
- 游标
- uboot环境变量不能保存的调试