Exemple #1
0
        /// <summary>
        /// 第二步获取授权
        /// </summary>
        /// <param name="CODE">第一步获取到的CODE(每次不同,5分钟失效)</param>
        /// <returns>微信用户信息</returns>
        public static string GetaccessInfo(string CODE, string type)
        {
            const string url       = "https://api.weixin.qq.com/sns/oauth2/access_token?";
            string       appid     = type == "1" ? _appid : _appid_joycut;
            string       appsecret = type == "1" ? _appsecret : _appsecret_joycut;
            //MapKey
            string at           = url + "appid=" + appid + "&secret=" + appsecret + "&code=" + CODE + "&grant_type=authorization_code";
            string responseBody = "";

            try
            {
                var request = (HttpWebRequest)WebRequest.Create(at);
                request.Method      = "get";
                request.ContentType = "application/x-www-form-urlencoded";
                request.Accept      = "*/*";
                var response = (HttpWebResponse)request.GetResponse();
                var stream   = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
                responseBody = stream.ReadToEnd();
                stream.Close();
                response.Close();
            }
            catch (Exception ex)
            {
                return("responseBody_err:" + ex.Message);
            }
            string ACCESS_TOKEN = "";
            string OPENID       = "";
            string Info         = "";
            string err          = "";

            try
            {
                var dic = JsonTools.JsonToObject <Dictionary <string, object> >(responseBody);
                if (dic != null)
                {
                    ACCESS_TOKEN = dic["access_token"].ToString();
                    //try
                    //{
                    //    CacheManage.SetCacheMinutes("token", dic["access_token"].ToString(), 100);
                    //}
                    //catch { }
                    OPENID = dic["openid"].ToString();
                    //根据授权信息获取用户详细信息
                    Info = GetInfo(ACCESS_TOKEN, OPENID);
                }
                else
                {
                    return("获取失败");
                }
            }
            catch (Exception ex)
            {
                err = "  ----------************----------" + ex.Message;
                return(err);
            }
            return(Info);
            //return OPENID;
        }
Exemple #2
0
        public string gettoken(string type)
        {
            string token        = "";
            string appId        = _appid;
            string appsecret    = _appsecret;
            var    url          = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appId + "&secret=" + appsecret;
            var    responseBody = Tools.StartRequest(url, "RequestService.GetAccesstoken", "GET");
            var    dic          = JsonTools.JsonToObject <Dictionary <string, object> >(responseBody);

            try
            {
                token = dic["access_token"].ToString();
            }
            catch (Exception ex)
            {
                token = "";
                //_log.InsertErrorInfo("RequestService.GetAccesstoken", ex.Message);
            }
            return(token);
        }
Exemple #3
0
        /// <summary>
        /// 带Json 请求
        /// </summary>
        /// <param name="url">url请求</param>
        /// <param name="json">json数据</param>
        /// <param name="interfaceName">请求接口名字</param>
        /// <param name="method">请求方式</param>
        /// <returns></returns>
        public static Dictionary <string, object> StartRequest(string url, string json, string interfaceName, string method)
        {
            var dic = new Dictionary <string, object>();

            //            var model = new Wx_Request()
            //            {
            //                wr_date = DateTime.Now,
            //                wr_post = url,
            //                wr_interfacename = interfaceName
            //            };
            //            Service.AddRequest(model);
            try
            {
                var request = (HttpWebRequest)WebRequest.Create(url);
                request.Method      = method;
                request.ContentType = "application/x-www-form-urlencoded";
                request.Accept      = "*/*";
                byte[] data      = Encoding.UTF8.GetBytes(json);
                var    outstream = request.GetRequestStream();
                outstream.Write(data, 0, data.Length);
                outstream.Close();

                var    response     = (HttpWebResponse)request.GetResponse();
                var    stream       = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                string responseBody = stream.ReadToEnd();
                stream.Close();
                response.Close();

                dic = JsonTools.JsonToObject <Dictionary <string, object> >(responseBody);
                //return responseBody;
            }
            catch (Exception ex)
            {
                //Log.InsertErrorInfo("dic.StartRequest----" + interfaceName, ex.Message);
            }

            return(dic);
        }