当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > Asp.net XMLHTTP封装类(GET,Post发送和接收数据)

ASP.NET
ASP.NET开发:简化应用程序的开发支持Web标准
asp.net XMLHttpRequest实现用户注册前的验证
asp.net 页面间传值方法小结
asp.net url重写浅谈
asp.net 验证码生成和刷新及验证
C#精髓 GridView72大绝技 学习gridview的朋友必看
实例说明asp.net中的简单角色权限控制
asp.net网站开发包wq.dll打包下载
js与ASP.NET 中文乱码问题
asp.net checkbox 动态绑定id GridView删除提示
asp.net TextBox回车触发事件 图片在img显示
asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
asp.NET 脏字过滤算法
asp.NET 脏字过滤算法 修改版
asp.net sql 数据库处理函数命令
asp.net Javascript 的几种写法与提示
ASP.NET MVC学习笔记
asp.net 中国身份证号码验证代码 非正则
Asp.net中使用Sqlite数据库的方法
asp.net 中文字符串提交乱码的解决方法

ASP.NET 中的 Asp.net XMLHTTP封装类(GET,Post发送和接收数据)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 125 ::
收藏到网摘: n/a

XMLHTTP封装类可以向远程发送URL和参数,接受返回信息(无乱码)
复制代码 代码如下:

/****************************************************************
* 函数名称:SendCommand(SendMethod method, ST_Param p)
* 功能说明:向远程发送URL和参数,接受返回信息(无乱码);
* 参 数:method:xml发送方法,POST/Get 两种
P:参数结构体
public string Url; //远程URL
public string Parameters; //参数
public string Uid; //帐号
public string Pwd; //号令
* 调用示列:
* using ebcnc; //引用空间名
* XMLHTTP x = new XMLHTTP(); //创建设xmlhttp对像
* XMLHTTP.ST_Param st = new XMLHTTP.ST_Param(); //创建参数数组
* st.Parameters = ""; //url详细参数
* st.Url = "http://www.baidu.com/"; //url
* st.Uid = "" ; //帐号
* st.Pwd = ""; //口令
* string rn=””; //返回字符串
* rn=x.SendCommand(XMLHTTP.SendMethod.POST, st); //获取返回信息
* x.Dispose();
***********************************************************************/
using System;
using MSXML2;
namespace ebcnc
{
/// <summary>
/// XMLHTTP基类
/// </summary>
public class XMLHTTP : IDisposable
{
#region 变量及参数
private XMLHTTPClass xml;
private bool _alreadyDispose = false;
public ST_Param Parameters;
public enum SendMethod : int
{
POST, GET
}
#endregion
#region 参数结构体
public struct ST_Param
{
public string Url;
public string Parameters;
public string Uid;
public string Pwd;
}
#endregion
#region 发送数据
/// <summary>
/// 发送数据
/// </summary>
/// <param name="method">发送方式</param>
/// <param name="p">数据</param>
/// <returns>STRING</returns>
public virtual string SendCommand(SendMethod method, ST_Param p)
{
if (p.Url == null || p.Url == "") return null;
if (method == SendMethod.POST)
{
try
{
xml.open("POST", p.Url, false, p.Uid, p.Pwd);
xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xml.send(CommonFunction.UrlEncoding(p.Parameters));
if (xml.status == 200)
{
return System.Text.Encoding.Default.GetString((byte[])xml.responseBody);
}
else
{
return xml.status.ToString();
}
}
catch (Exception E)
{
return E.Message.ToString();
}
}
else if (method == SendMethod.GET)
{
xml.open("GET", p.Url + "?" + CommonFunction.UrlEncoding(p.Parameters), false, p.Uid, p.Pwd);
xml.send(null);
return System.Text.Encoding.Default.GetString((byte[])xml.responseBody);
}
return null;
}
#endregion
#region 构造与释构
public XMLHTTP()
{
xml = new XMLHTTPClass();
}
~XMLHTTP()
{
Dispose();
}
protected virtual void Dispose(bool isDisposing)
{
if (_alreadyDispose) return;
if (isDisposing)
{
if (xml != null)
{
xml = null;
}
}
_alreadyDispose = true;
}
#endregion
#region IDisposable 成员
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
#endregion
}
}