string openid = "";
string appid = "微信公众号appid";
string appsecret = "秘钥";
if (Session["openid"] == null)
{
string code = Request.QueryString["code"];
string state = Request.QueryString["state"];
if (code != null && code.Length > 0)
{
#region 获取到CODE
string posturl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + appsecret + "&code=" + code
+ "&grant_type=authorization_code";
string getstr =HttpGet(posturl, "utf-8");
JsonData jd = JsonMapper.ToObject(getstr);
openid = jd["openid"].ToString();
Session["openid"] = openid;
#endregion
}
else
{
string callbackurl = Request.Url.ToString();
openid = (string)Session["openid"];
if (openid == null || openid.Length <= 0)
{
string ecode = MD5Encode(callbackurl).ToLower().Substring(0, 15);
Session["wx_encode"] = ecode;
string url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&redirect_uri="
+ Server.UrlEncode(callbackurl) + "&response_type=code&scope=snsapi_userinfo&state=" + ecode + "#wechat_redirect";
Response.Redirect(url);
}
}
}else
{
openid = (string)Session["openid"];
}