예제 #1
0
        public string  GetOpenid(string code)
        {
            string url = "";
            Sys_WxChatConfigBll swccb = new Sys_WxChatConfigBll();
            Sys_WxChatConfig    wc    = swccb.Query(" and acode='0001'");
            string getAccessTokenUrl  = " https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code";
            string respText           = "";

            if (wc != null)
            {
                url = string.Format(getAccessTokenUrl, wc.appid, wc.appsec, code);
                HttpWebRequest  request  = (HttpWebRequest)WebRequest.Create(url);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                using (Stream resStream = response.GetResponseStream())
                {
                    StreamReader reader = new StreamReader(resStream, Encoding.Default);
                    respText = reader.ReadToEnd();
                    resStream.Close();
                }
                int start = respText.IndexOf("openid");
                int end   = respText.IndexOf("scope");
                start   += 15;
                end     -= 3;
                respText = respText.Substring(start, end - start);
            }
            else
            {
                respText = "";
            }
            return(respText);
        }