zoukankan      html  css  js  c++  java
  • 微信 编码要UTF8

    <%@ WebHandler Language="C#" Class="Handler" %>
    
    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.IO;
    using System.Text;
    using System.Web.Security;
    using System.Xml;
    
    public class Handler : IHttpHandler
    {
    
        public void ProcessRequest(HttpContext param_context)
        {
    
            string postString = string.Empty;
            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
            {
                using (Stream stream = HttpContext.Current.Request.InputStream)
                {
                    Byte[] postBytes = new Byte[stream.Length];
                    stream.Read(postBytes, 0, (Int32)stream.Length);
                    postString = Encoding.Default.GetString(postBytes);
                }
    
                if (!string.IsNullOrEmpty(postString))
                {
                    Handle(postString);
                }
            }
            else
            {
                InterfaceTest();
            }
        }
    
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
        //写入日志
        public void WriteLog(string text)
        {
            StreamWriter sw = new StreamWriter(HttpContext.Current.Server.MapPath(".") + "\log.txt", true);
            sw.WriteLine(text);
            sw.Close();//写入
        }
    
        /// <summary>
        /// 处理信息并应答
        /// </summary>
        private void Handle(string postStr)
        {
            WriteLog(postStr);        //记录微信服务器post字串
            messageHelper help = new messageHelper();
            string responseContent = help.ReturnMessage(postStr);
            HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
            HttpContext.Current.Response.Write(responseContent);
            WriteLog(responseContent);   //记录返回微信服务器字串
    
        }
    
        //成为开发者url测试,返回echoStr
        public void InterfaceTest()
        {
            string token = "填写的token";
            if (string.IsNullOrEmpty(token))
            {
                return;
            }
    
            string echoString = HttpContext.Current.Request.QueryString["echoStr"];
            string signature = HttpContext.Current.Request.QueryString["signature"];
            string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
            string nonce = HttpContext.Current.Request.QueryString["nonce"];
    
            if (!string.IsNullOrEmpty(echoString))
            {
                HttpContext.Current.Response.Write(echoString);
                HttpContext.Current.Response.End();
            }
        }
      
    
    }
  • 相关阅读:
    敏捷开发
    Response.Write(js脚本)后 Response.redirect(...),为什么js脚本不执行,怎么解决!
    kaixin.com一波三折看SNS
    JavaScript数组的自定义 sort方法
    简单明了的SQL join解释
    [官方资料] 介绍 JSON
    SQL UNION 和 UNION ALL 操作符
    JavaScript frames 对象
    理解hasOwnProperty
    asp.net网站安全常见问题与防范
  • 原文地址:https://www.cnblogs.com/sekon/p/4691085.html
Copyright © 2011-2022 走看看