Asp.net XMLHTTP封装类(GET,Post发送和接收数据)_实用技巧

复制代码 代码如下:

/****************************************************************
* 函数名称: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
}
}

时间: 2024-11-05 16:25:45

Asp.net XMLHTTP封装类(GET,Post发送和接收数据)_实用技巧的相关文章

Asp.net Socket客户端(远程发送和接收数据)_实用技巧

复制代码 代码如下: /*************************************** * 对象名称: SocketObj * 功能说明: 远程发送与接收 * 试用示例: * using EC; //引用空间名 * string url = "218.75.111.74"; // URL也可以是(http://www.baidu.com/)这种形式 * int port = 8000; //端口 * string SendStr = "domainname\n

asp.net使用母版页中使用ajax脚本取数据_实用技巧

方法如下: 1. 页面中拖入ScriptManager.以便于使用Ajax脚本.同时放在其它客户端控件,用于触发NetPost方法.这里不列出客户端控件. 复制代码 代码如下: <asp:ScriptManager ID="smMaster" runat="server" ScriptMode="Auto" EnablePageMethods="true"> </asp:ScriptManager> 2

asp.net开发中怎样去突破文件依赖缓存_实用技巧

在Web项目中可以使用Session,Application等来缓存数据,也可以使用Cache来缓存. 今天我们特别关注的是Cache缓存.Cache位于命名空间System.Web.Caching命名空间下,看到这里我们想到的是它在Web项目中使用. 说明:Cache 类不能在 ASP.NET 应用程序外使用.它是为在 ASP.NET 中用于为 Web 应用程序提供缓存而设计和测试的.在其他类型的应用程序(如控制台应用程序或 Windows 窗体应用程序)中,ASP.NET 缓存可能无法正常工

ASP.NET Mvc开发之查询数据_实用技巧

对于.NET平台上开发WebForm项目,程序员操作数据的方法主要是通过使用ADO.NET.而我们MVC操作数据库呢?与ADO.NET相比又有怎样的优势呢? 一.大家都在谈的EF到底是什么? EF,全称EntityFramWork.就是微软以ADO.NET为基础发展的所谓ORM(对象关系映射框架,或者说是数据持久化框架). 简单的来说就是根据实体对象操作数据表中数据的一种面向对象的操作框架,具体的底层也是调用ADO.NET. 下面我们就来演示怎么使用EF来操作数据库: 在数据库关系图中,表之间的

asp 读取通过表单发送的post数据_应用技巧

学习ASP,最重要的就是要掌握ASP内置的六大对象.事实上,在上一讲中,我们已经了解了Response对象,及Response对象中最常用的Write方法.Redirect方法和Expires属性.看到对象.方法.属性.集合.事件这些概念(俺一个都不识!),如果以前没接触过,聪明的您就不要管这些概念了,知道怎么用就行了,我的观点是刚开始关键在于临摹.下面我们继续通过实例学习Request对象,为了加深理解,务请运行这些程序看看输出结果. 一. 使用Request.ServerVariables获

Asp.Net类库中发送电子邮件的代码_实用技巧

通常验证电子邮件真实有效的办法是:当用户填写的注册资料经过网站初步格式验证之后,用户并不能利用此帐号登录,系统会向用户注册时填写的电子邮件地址发送一封电子邮件,邮件中给出一个链接,只有当用户点击了这个链接之后才能登录到网站,如果用户填写的电子邮件地址不是真实有效的或者不是他本人的,就不会收到这封电子邮件,这样仍然不能登录,这一步一般称之为电子邮件激活. 在.net类库中有两种发送电子邮件的方式,一种是在.net2.0以下版本中的做法,一种是.net2.0以上版本的做法.下面分别介绍这两种办法.

ASP.NET对HTML页面元素进行权限控制(三)_实用技巧

上一篇博客中有些没有考虑到的东西这次更改一下代码如下: 界面前台: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AdmShowDIV.aspx.cs" Inherits="ExamSystemV3.Manager.RoleManager.AdmShowDIV" %> <!DOCTYPE html> <ht

asp.net mvc实现简单的实时消息推送_实用技巧

因为项目需要,需要在网页上实现消息的推送.在百度上搜索了一下,发现实现网页上的消息推送,可以使用asp.net 中的SignalR类库,当然也可以使用H5的WebSocket  Ajax的轮回.当然此处我们使用asp.net 中的SignalR类库.因为它可以实现网页上消息的实时推送.什么是实时推送呢,我简单的说一下我个人的理解吧.实时:在同一时间类发生的事情,当然在计算机中并不是绝对的实时,因为CPU在同一时间片只能处理一个任务,那么这个时候疑问又来了? 我们平时使用电脑又上网,又听音乐是如何

ASP.NET MVC使用Ajax的辅助的解决方法_实用技巧

前言:前面我们已经简单的介绍过了MVC如何Jquery,因为我们如果使用Ajax的话必须要了解Jquery,这篇博客我们将大致了解一下ASP.NET MVC如何使用Ajax的辅助方法,此博客是我的读书笔记,如果那里写的不好,还请各位朋友提出来,我们共同学习.1.准备工作 (1)在MVC刚开始学习的时候,我们就需要介绍ASP.NET MVC框架中的HTML的辅助方法,但是这类文章现在已经很多了,而且个人感觉很简单,所以没有写笔记,我在这里就不介绍了. (2)ASP.NET MVC框架中的HTML辅