Asp.netXMLHTTP封装类(GET,Post发送和接收数据)
2023-06-13 09:14:06 时间
/****************************************************************
*函数名称:SendCommand(SendMethodmethod,ST_Paramp)
*功能说明:向远程发送URL和参数,接受返回信息(无乱码);
*参数:method:xml发送方法,POST/Get两种
P:参数结构体
publicstringUrl;//远程URL
publicstringParameters;//参数
publicstringUid;//帐号
publicstringPwd;//号令
*调用示列:
*usingebcnc;//引用空间名
*XMLHTTPx=newXMLHTTP();//创建设xmlhttp对像
*XMLHTTP.ST_Paramst=newXMLHTTP.ST_Param();//创建参数数组
*st.Parameters="";//url详细参数
*st.Url="http://www.baidu.com/";//url
*st.Uid="";//帐号
*st.Pwd="";//口令
*stringrn=””;//返回字符串
*rn=x.SendCommand(XMLHTTP.SendMethod.POST,st);//获取返回信息
*x.Dispose();
***********************************************************************/
usingSystem;
usingMSXML2;
namespaceebcnc
{
///<summary>
///XMLHTTP基类
///</summary>
publicclassXMLHTTP:IDisposable
{
#region变量及参数
privateXMLHTTPClassxml;
privatebool_alreadyDispose=false;
publicST_ParamParameters;
publicenumSendMethod:int
{
POST,GET
}
#endregion
#region参数结构体
publicstructST_Param
{
publicstringUrl;
publicstringParameters;
publicstringUid;
publicstringPwd;
}
#endregion
#region发送数据
///<summary>
///发送数据
///</summary>
///<paramname="method">发送方式</param>
///<paramname="p">数据</param>
///<returns>STRING</returns>
publicvirtualstringSendCommand(SendMethodmethod,ST_Paramp)
{
if(p.Url==null||p.Url=="")returnnull;
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)
{
returnSystem.Text.Encoding.Default.GetString((byte[])xml.responseBody);
}
else
{
returnxml.status.ToString();
}
}
catch(ExceptionE)
{
returnE.Message.ToString();
}
}
elseif(method==SendMethod.GET)
{
xml.open("GET",p.Url+"?"+CommonFunction.UrlEncoding(p.Parameters),false,p.Uid,p.Pwd);
xml.send(null);
returnSystem.Text.Encoding.Default.GetString((byte[])xml.responseBody);
}
returnnull;
}
#endregion
#region构造与释构
publicXMLHTTP()
{
xml=newXMLHTTPClass();
}
~XMLHTTP()
{
Dispose();
}
protectedvirtualvoidDispose(boolisDisposing)
{
if(_alreadyDispose)return;
if(isDisposing)
{
if(xml!=null)
{
xml=null;
}
}
_alreadyDispose=true;
}
#endregion
#regionIDisposable成员
publicvoidDispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
#endregion
}
}
相关文章
- asp中的session使用方法详解
- ASP.NET Core解析Protobuf格式数据
- ASP.NET Core 6框架揭秘实例演示[35]:利用Session保留语境
- 使用 ASP 连接 MS SQL 服务器(asp连接mssql)
- 灵活操作:ASP连接MySQL(asp连接mysql)
- 玩转AspMSSQL,多种数据库环境尽在掌握!(asp mssql 环境)
- ASP动态连接MySQL数据库(asp 连mysql)
- Asp如何与MySQL建立连接(asp能链接mysql吗)
- ASP与MySQL的结合创造巨大可能性(asp结合mysql)
- ASP接入MySQL的操作指南(asp怎样连接mysql)
- MySQL 注入防范调用 ASP 技术进行解决(asp mysql 注入)
- 数据库ASP连接Oracle数据库简单实现实时数据访问(asp连续oracle)
- ASP驱动的Oracle数据库连接源码解析(asp连oracle源码)
- ASP程序从Oracle数据库精挖宝贵资源(asp取oracle数据)
- 利用ASP 与 Oracle 技术实现项目进度管理(asp oracle项目)
- asp模板引擎终结者(WEB开发之ASP模式)
- ASP实现头像图像随机变换
- asp.net下获取Excel所有的工作表名称
- [asp]匹配网址的正则
- asp.netUpdatePanel实现无刷新上传图片
- asp.netURL中包含中文参数造成乱码的解决方法
- Asp返回引用类型函数代码
- asp.net2.0中利用Ajax2.0实现JSON传送大量页面数据
- 一段ASP单页显示文件夹下所有图片的代码
- asp.netAjax之无刷新评论介绍
- asp.net关于Cookie跨域(域名)的问题
- 用python写asp详细讲解
- 推荐4款傻瓜型的ASP服务器软件(asp运行环境一键搭建工具)