/// <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; }
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); }
/// <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); }