推送的连接地址如:www.baidu.com

/// <summary>
        /// 提交数据
        /// </summary>
        /// <param name="msg">XML</param>
        /// <param name="info_Id">提交的INFO_ID</param>
        /// <param name="httpUrl">接收XML的地址</param>
        /// <param name="sqlconn">本地sql连接</param>
        /// <returns>返回结果</returns>
        public static string SendMsg(string msg, string info_Id, string httpUrl, string sqlconn)
        {
            string result = "";

            try
            {
                string url =  msg;

                string formUrl = httpUrl;
                if (string.IsNullOrEmpty(formUrl))
                    return "推送失败,Web.config配置为空";
                string formData = url;                               //提交的参数

                //注意提交的编码 这边是需要改变的 这边默认的是Default:系统当前编码
                byte[] postData = Encoding.UTF8.GetBytes(formData);

                // 设置提交的相关参数
                HttpWebRequest request = WebRequest.Create(formUrl) as HttpWebRequest;
                Encoding myEncoding = Encoding.UTF8;
                request.Method = "PUT";
                request.KeepAlive = false;
                request.Headers.Add("checksum",  System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(msg, "MD5"));
                request.AllowAutoRedirect = true;
                request.ContentType = "application/x-www-form-urlencoded";
                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR  3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
                request.ContentLength = postData.Length;

                // 提交请求数据
                System.IO.Stream outputStream = request.GetRequestStream();
                outputStream.Write(postData, , postData.Length);
                outputStream.Close();

          //返回数据
                HttpWebResponse response;
                Stream responseStream;
                StreamReader reader;
                string srcString;
                response = request.GetResponse() as HttpWebResponse;
                responseStream = response.GetResponseStream();
                reader = new System.IO.StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));
                srcString = reader.ReadToEnd();
                result = srcString;   //返回值赋值
                reader.Close();
                if (!string.IsNullOrEmpty(result))
                {
                    try
                    {
                        XmlDocument M_XDoc = new XmlDocument();
                        M_XDoc.LoadXml(result);
                        XmlElement eName;
                        XmlNode M_Root = M_XDoc.SelectSingleNode("message/header");
                        string bizid = System.Configuration.ConfigurationManager.AppSettings["bizid"];//档案模块号获取
                        string _bizid = string.Empty;
                        ")
                            _bizid = (M_Root.SelectSingleNode("bizid")).InnerText;//档案号模块号获取

                        ")
                        {
                            result = "推送失败,失败原因:" + (M_Root.SelectSingleNode("memo")).InnerText + "  时间:" + (M_Root.SelectSingleNode("timestamp")).InnerText;
                        }
                        else
                        {

                            IsOK = true;
                            result = "档案模块号:" + _bizid + " 推送成功!";

                            OleDbConnection conn = new OleDbConnection(sqlconn);
                            conn.Open();
                            OleDbCommand cmd = new OleDbCommand("UPDATE G_INFOS SET WXISGD=1 WHERE ID=" + info_Id, conn);

                            cmd.ExecuteNonQuery();
                            conn.Close();
                            cmd.Dispose();
                        }
                    }
                    catch
                    {
                        result = "推送失败,解析失败,XML:" + result;
                    }
                }
                else
                    result = "推送失败,返回值为空!";

            }
            catch (Exception ex)
            {
                result = "推送失败,失败原因:" + ex.Message;
            }
            return result;
        }

推送XML的更多相关文章

  1. node.js解析微信消息推送xml格式加密的消息

    之前写过一个解密json格式加密的,我以为xml的和json的差不多,是上上个星期五吧,我的同事也是在做微信公众号里面的消息推送解密,发现好像只能使用xml加密格式的发送到服务器,我们去年也做过企业微 ...

  2. C#微信公众号开发系列教程五(接收事件推送与消息排重)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  3. C#微信公众号开发系列教程(接收事件推送与消息排重)

    微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次.这样的话,问题就来了.有这样一个场景:当用户关注微信账号时,获取当前用户信息,然后将信息写到数据库中.类似于pc端网站的注册.可 ...

  4. 微信公众号开发C#系列-7、消息管理-接收事件推送

    1.概述 在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息.其中,某些事件推送在发生后,是允许 ...

  5. 转:C#微信公众号开发之接收事件推送与消息排重的方法

    本文实例讲述了C#微信公众号开发之接收事件推送与消息排重的方法.分享给大家供大家参考.具体分析如下: 微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次.这样的话,问题就来了.有这 ...

  6. 友盟消息推送和更新XML配置

    <receiver android:name="com.umeng.message.NotificationProxyBroadcastReceiver" android:e ...

  7. Android 几种消息推送方案总结

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6241354.html 首先看一张国内Top500 Android应用中它们用到的第三方推送以及所占数量: 现 ...

  8. Mosquitto搭建Android推送服务(一)MQTT简介

    总体概要: MQTT系列文章分为4部分 1.MQTT简介 2.mosquitto服务器搭建 3.编写Mosquitto的可视化工具 4.使用Mosquitto完成Android推送服务 文章钢要: 对 ...

  9. 【DWR系列02】-DWR逆向Ajax即服务器推送

    .literal { background-color: #f2f2f2; border: 1px solid #cccccc; padding: 1px 3px 0; white-space: no ...

随机推荐

  1. string引用类型解惑

    先上代码: string b = "123"; private void Form1_Load(object sender, EventArgs e) { Test(b); Mes ...

  2. java程序打包成jar 配置文件信息路径

    一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...

  3. ssh配置文件说明

    配置“/etc/ssh/ssh_config”文件 “/etc/ssh/ssh_config” 文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式.这个文件的每 ...

  4. delphi 调用c#dll

    public interface iProduct { string Buy(); } [ClassInterface(ClassInterfaceType.None)] public class P ...

  5. ztree

    http://www.s u c h s o.com/projecteactual/ztree-jiaocheng-mvc-checkbox-quanxuan-demo-down.html http: ...

  6. 剑指Offer:面试题24——二叉搜索树的后序遍历序列(java实现)

    问题描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true,否则返回false.假设输入的数组的任意两个数字都互不相同. 思路: 1.首先后序遍历的结果是[(左子 ...

  7. opencv透视变换

    关于透视投影的几何知识,以及求解方法,可以参考 http://media.cs.tsinghua.edu.cn/~ahz/digitalimageprocess/chapter06/chapt06_a ...

  8. 5.Makefile的原理及应用

    1.概念 目标:目标顶格写,后面是冒号(冒号后面是依赖) 依赖:依赖是用来产生目标的原材料. 命令:命令前面一定是两个Tab,不能是定格,也不能说多个空格.命令就是要生成那个目标需要做的动作. 2.基 ...

  9. 2.擦除开发板iNand中的uboot的方法

    (1)在linux和android系统下,擦除uboot的方法:       busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 c ...

  10. linux vim 替换指定字符为回车

    有个问题,想要知道逗号分隔的字符串  example: aaa,bbb,ccc 分隔后的个数 1 将   aaa,bbb,ccc 替换成 aaa bbb ccc 方法: :%s/,/^M/g ^M是用 ...