移动和联通接口 发送短信

using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Text;
    using System.Net;
    using System.IO;
    using cn.sh.unicom.groupsms;
    ///
    /// Mobmsg 的摘要说明
    ///
    public class Mobmsg
    {
    private string _MobNum;
    private string _MobMsg;
    public Mobmsg()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    public Mobmsg(string MobNum, string MobMsg)
    {
    this._MobNum = MobNum;
    this._MobMsg = MobMsg;
    }
    public void SendMsg()
    {
    if (CheckType(this._MobNum))
    ToMobile();
    else
    ToUnicom();
    }
    public void ToMobile()
    {//移动的接口
    Encoding encoding = Encoding.GetEncoding("gb2312");
    string enterpriseid = "123456";//企业代码
    string accountid = "123";
    string pwd = "yourpwd";
    string postData = "enterpriseid=" + enterpriseid + "&accountid=" + accountid + "&pswd=" + pwd + "&mobs=" + this._MobNum + "&msg=" + this._MobMsg;
    string strUrl = "http://211.136.163.68:8000/httpserver";
    byte[] data = encoding.GetBytes(postData);
    // 准备请求…
    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
    myRequest.Method = "POST";
    myRequest.ContentType = "application/x-www-form-urlencoded";
    myRequest.ContentLength = data.Length;
    Stream newStream = myRequest.GetRequestStream();
    // 发送数据
    newStream.Write(data, 0, data.Length);
    newStream.Close();
    }
    public void ToUnicom()
    {//联通的接口
    cn.sh.unicom.groupsms.Login myLogin = new cn.sh.unicom.groupsms.Login();
    string MySessionID = "";
    myLogin.username = "yourname"; //用户名123456789
    myLogin.userType = "0";
    myLogin.password = "yourpwd";  //密码
    LoginMes mes1 = new LoginMes();
    mes1.login = myLogin;
    SmWSImplService Binding = new SmWSImplService();
    OpResult Value1 = new OpResult();
    try
    {
    Value1 = Binding.memberLogin(mes1);
    }
    catch
    {
    ;
    }
    MySessionID = Value1.sessionId;//'得到sessionid
    SendBatchSMS(Binding, MySessionID, this._MobMsg, "companycode");//companycode为企业代号1112345
    Value1 = Binding.logout(mes1);
    }
    public bool CheckType(string MobileNum)
    {
    string ForeStr = MobileNum.Substring(0, 3);
    int ForeNum = Convert.ToInt32(ForeStr);
    if (ForeNum <= 134)
    return false;
    else
    return true;
    }
    public void SendBatchSMS(SmWSImplService Binding, string SessionID, string SmsMsg, string AccountID)
    {
    BatchMsg MySendSM = new BatchMsg();
    OpResult Value1 = new OpResult();
    string[] SendAddrs = new string[1];
    SendAddrs[0] = this._MobNum; //发送号码数组 手机号码
    MySendSM.sessionId = SessionID;
    MySendSM.msgContent = SmsMsg;
    MySendSM.destAddrs = SendAddrs;
    Value1 = Binding.SendBatchMessage(MySendSM);
    MySendSM=null;
    Value1 = null;
    }
    }
    在调用联通的接口的时候还要添加一个 http://groupsms.unicom.sh.cn/websms/services/SmWSImpl?wsdl webservice
    然后我们可以在其它页面使用
    Mobmsg msg = new Mobmsg("要发送信息的手机号码","要发送的内容");
    msg.SendMsg();
    这样就可以了

posted @ 2011-10-26 12:53  H.H.H  阅读(370)  评论(0编辑  收藏  举报