Asp.net XMLHTTP封装类(GET,Post发送和接收数据)
发布时间:2020-12-14 23:56:47 所属栏目:C语言 来源:网络整理
导读:复制代码 代码如下: /**************************************************************** * 函数名称:SendCommand(SendMethod method,ST_Param p) * 功能说明:向远程发送URL和参数,接受返回信息(无乱码); * 参 数:method:xml发送方法,POST/Get 两种 P:参
复制代码 代码如下: /**************************************************************** * 函数名称: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),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 } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |