C#网页授权获取微信Openid


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"];
}

 

原文地址:https://www.cnblogs.com/dsjbk/p/14705426.html