飞信WEB接口的一个返回网页C#处理源码

代码说明:“返回网页”是指飞信接口有事件发生时把事件信息发送到的网页地址,并不是给用户访问,所以处理接受的数据应保存到数据库,以便在别的网页提取出来呈现给用户;这个页面地址应在发送登录时由reurl指定提交给接口服务器的。

详情参见http://io.139icq.com/的说明

 

以下WebDbClass控件是我的自定义数据库控件,请换成实际的数据库连接

 

        protected WebDbClass MyDb = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (MyDb == null) MyDb = new WebDbClass();
            try
            {
                string com = (string)Request["com"],fno=(string)Request["fno"],mno=(string)Request["mno"];
                if (fno == String.Empty && mno==String.Empty)
                {
                    Response.Write("号码信息错误");
                    MyDb.DbClose();
                    Response.End();
                    return;
                }
                if (com == "rmsg" || com == "senderr")
                {
                    string MsgType = "新接收", rgno = "", tofno = (string)Request["rfno"], tomno = (string)Request["rmno"], msg = (string)Request["msg"], senderr = "";
                    msg = HttpUtility.UrlDecode(msg, Encoding.GetEncoding("utf-8"));
                    if (com == "senderr")
                    {
                        MsgType = "新错误";
                        senderr = (string)Request["senderr"];
                        msg = "发送/"" + msg + "/"" + senderr;
                    }

                    //插入数据库
                    MyDb.ExecuteSql("INSERT INTO FetionUpdata (fno,mno,tofno,tomno,uptype,Msg,addTime)" +
                        "values('" + fno + "','" + mno + "','" + tofno + "','" + tomno + "','" + MsgType + "','" + msg.Replace("'", "''") + "','" + DateTime.Now.ToString() + "')");
                    Response.Write(msg); //输出是为了方便调试,实际没什么意义,正常后请全部注释掉
                }
                else if (com == "sendok")
                {

                     //发送成功
                    ;
                }
                else if (com == "loginok")
                {
                    string fname = (string)Request["fname"];
                    MyDb.ExecuteSql("INSERT INTO FetionUpdata (fno,mno,tofno,tomno,uptype,Msg,addTime)" +
                        "values('" + fno + "','" + mno + "','','','登录成功','" + fname.Replace("'", "''") + "','" + DateTime.Now.ToString() + "')");
                }
                else if (com == "loginerr")
                {
                    MyDb.ExecuteSql("INSERT INTO FetionUpdata (fno,mno,tofno,tomno,uptype,Msg,addTime)" +
                        "values('" + fno + "','" + mno + "','','','登录失败','','" + DateTime.Now.ToString() + "')");
                }
                else if (com == "fadd")
                {
                    string tofno = (string)Request["rfno"], tomno = (string)Request["rmno"], msg = (string)Request["msg"];
                    MyDb.ExecuteSql("INSERT INTO FetionUpdata (fno,mno,tofno,tomno,uptype,Msg,addTime)" +
                        "values('" + fno + "','" + mno + "','" + tofno + "','" + tomno + "','被添加为好友','" + msg.Replace("'", "''") + "','" + DateTime.Now.ToString() + "')");
                }
                else if (com == "list")
                {
                    MyDb.ExecuteSql("INSERT INTO FetionUpdata (fno,mno,tofno,tomno,uptype,Msg,addTime)" +
                        "values('" + fno + "','" + mno + "','','','列表完成','','" + DateTime.Now.ToString() + "')");
                }
                else if (com == "logout")
                {
                    MyDb.ExecuteSql("INSERT INTO FetionUpdata (fno,mno,tofno,tomno,uptype,Msg,addTime)" +
                        "values('" + fno + "','" + mno + "','','','被注销','','" + DateTime.Now.ToString() + "')");
                }
                else if (com == "changed")
                {//好友状态改变
                    string tofno = (string)Request["rfno"], tomno = (string)Request["rmno"], msg = (string)Request["msg"];
                    string[] farrm = msg.Trim().Split('|');
                    if (farrm.Length >= 7)
                        if (farrm[5] == "聊天") //好友打开聊天窗口
                        {
                            msg = msg.Replace("|聊天|", "|在线|");
                        }
                    MyDb.ExecuteSql("INSERT INTO FetionUpdata (fno,mno,tofno,tomno,uptype,Msg,addTime)" +
                        "values('" + fno + "','" + mno + "','" + tofno + "','" + tomno + "','好友状态改变','" + msg.Replace("'", "''") + "','" + DateTime.Now.ToString() + "')");
                }
                else
                    Response.Write("命令参数错误");
            }
            catch(Exception er)
            {
                Response.Write("接收信息错误:"+er.Message);
            }
            MyDb.DbClose();
            Response.End();
        }

 

飞信WEB接口主要是方便网站开发都使用,如果是Win桌面程序,要想返回信息,只能使用飞信WebService接口 

如何使用WebService接收实时信息请参考如下文章:

http://blog.csdn.net/mywwl/archive/2009/05/11/4169455.aspx

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值