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

     

  • 相关阅读:
    《浪潮》影评
    《白日梦想家》影评笔记
    mac清理磁盘方法
    java性能监控器VisualVM
    python部署工具fabric
    linux缓存nscd
    ajax取返回值的方法
    python中__name__ = '__main__' 的作用
    使用nsswitch控制linux dns解析顺序
    SQLAlchemy中filter()和filter_by()的区别
  • 原文地址:https://www.cnblogs.com/dsjbk/p/14705426.html
Copyright © 2020-2023  润新知