知识点

相关文章

更多

最近更新

更多

微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”

2019-03-02 00:59|来源: 网路

这些代码也就开始认证的时候用一次,以后就不用了:

 

const string Token = "XXXXX";//你的token
protected void Page_Load(object sender, EventArgs e)
{
string postStr = "";
if (Request.HttpMethod.ToLower() == "post")
{
System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream;
byte[] b = new byte[s.Length];
s.Read(b, 0, (int)s.Length);
postStr = System.Text.Encoding.UTF8.GetString(b);
if (!string.IsNullOrEmpty(postStr))
{
//ResponseMsg(postStr);
Response.Write(ResponseMsg(postStr));
Response.End();
}
//WriteLog("postStr:" + postStr);
}
else
{
Valid();
}
}

/// <summary>
/// 验证微信签名
/// </summary>
/// * 将token、timestamp、nonce三个参数进行字典序排序
/// * 将三个参数字符串拼接成一个字符串进行sha1加密
/// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
/// <returns></returns>
private bool CheckSignature()
{
string signature = Request.QueryString["signature"].ToString();
string timestamp = Request.QueryString["timestamp"].ToString();
string nonce = Request.QueryString["nonce"].ToString();
string[] ArrTmp = { Token, timestamp, nonce };
Array.Sort(ArrTmp); //字典排序
string tmpStr = string.Join("", ArrTmp);
tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
tmpStr = tmpStr.ToLower();
if (tmpStr == signature)
{
return true;
}
else
{
return false;
}
}


private void Valid()
{
string echoStr = Request.QueryString["echoStr"].ToString();
if (CheckSignature())
{
if (!string.IsNullOrEmpty(echoStr))
{
Response.Write(echoStr);
Response.End();
}
}
}


/// <summary>
/// 写日志(用于跟踪)
/// </summary>
private void WriteLog(string strMemo)
{
string filename = Server.MapPath("/logs/log.txt");
if (!Directory.Exists(Server.MapPath("//logs//")))
Directory.CreateDirectory("//logs//");
StreamWriter sr = null;
try
{
if (!File.Exists(filename))
{
sr = File.CreateText(filename);
}
else
{
sr = File.AppendText(filename);
}
sr.WriteLine(strMemo);
}
catch
{

}
finally
{
if (sr != null)
sr.Close();
}
}

 

 

 


转自:http://www.cnblogs.com/lyl6796910/p/3661097

相关问答

更多
  • 开启开发模式时不影响群发功能的。现在只有订阅号和服务号群发功能有区别,订阅号每天都可以群发一群消息,服务号一个月才能群发一条消息。你说的那种情况是没有的。
  • 开发模式可以实现的功能 1、可以接收用户发送过来的消息,通过你自己开发的系统把对应内容反馈回去。 2、可以接收用户发送过来的地理位置,通过地理位置你可以反馈附近餐厅信息或交通信息(例如高德地图) 3、通过事件推送,可以识别用户对公众帐号订阅和取消订阅操作的情况。 4、开发模式的接口除了可以反馈图文消息,也可以反馈音频内容给用户。 5、可以通过通用接口上传图片、语音、视频等内容到公众平台上,并且可以调用这些素材 6、可以管理自定义菜单功能。(该功能还在内测中)
  • 太多太多了,这么说吧,微信公众平台只有最简单的图片文字和视频,而且大小都是有限制的,如果你想更多的功能必须用开发模式。看这个视频,绑定第三方平台,就能开发了。
  • 新版微信公众平台去除了编辑模式和开发模式,让普通用户更方便地使用公众号,开发者也可以在开发者中心中,统一管理开发资源、权限和配置。微信公众平台开发者中心功能的使用方便了更多的微信用户,也方便了我们的生活。
  • 登录微信公众平台,点击左下角的 开发者工具,即可看到相关文档。
  • 我就是一个柚安米的一个商户,开通的是网上商城,但是发布的优惠券却不能在线上支付时进行抵扣,这么基础的功能居然还没完善,问客服却一直说已反馈技术,却迟迟没有更新这功能
  • 申请好公众平台后,打开开发模式就可以成为开发者了,不一定非要编程,直接接入第三方接口就行,这样会获得一些工作。 想要更多的功能就需要涉及到编程了,看你账号的需求性了。
  • 不是仿,是直接登录到微信公众平台,但是没有通过他们的登录界面登录进去,而是用程序提交用户名密码登录进去,然后进行相关操作,往相关接口提交数据
  • 各个行业都有的。可以看下小猪CMS,,you shiyong