微信 编码要UTF8
2024-09-07 07:32:02
<%@ 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, , (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();
}
} }
最新文章
- EMF学习,为了实现可扩展可自定义的模型验证 - 各种实现方法学习
- 一道google面试题
- EF架构~在T4模版中为所有属性加默认值
- Android 的提权 (Root) 原理是什么?
- JAVA线程池的分析和使用
- 如何在linux环境下安装yaf
- POJ 3398 Perfect Service --最小支配集
- JAVA模块化
- SAP BW 重新初始化
- android中IdleHandler的使用
- 第48条:如果需要精确的答案,请避免使用float和double
- 淘淘商城_day05_课堂笔记
- 201521123050 《Java程序设计》第13周学习总结
- 系统启动时,dts怎么被加载的?
- Eclipse安装SVN插件(转载)
- JSX有感
- C语言面试笔记(8/26)
- springcloud流程图
- IOC容器特性注入第五篇:查找(Attribute)特性注入
- HTML5遇到的问题