MVC 微信公众号 获取 access_token
2016-09-21 16:37
369 查看
官方文档说明:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183&token=&lang=zh_CN
具体实现方法如下:
类WXApi.cs:
类AdminUtil.cs:
Controller:
工具类:
具体实现方法如下:
类WXApi.cs:
#region 获取access_token /// <summary> /// 获取access_token /// </summary> public static string GetAccessToken(string appid, string secret) { string strJson = HttpRequestUtil.RequestUrl(string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret)); return Tools.GetJsonValue(strJson, "access_token"); } #endregion
类AdminUtil.cs:
#region 获取access_token /// <summary> /// 获取access_token /// </summary> public static string GetAccessToken() { string access_token = WXModel.access_token; string AppID = WXModel.AppID; string AppSecret = WXModel.AppSecret; //获取session 中的 access_token if (string.IsNullOrWhiteSpace(access_token)) //尚未保存过access_token { access_token = WXApi.GetAccessToken(AppID, AppSecret); } else { if (WXApi.TokenExpired(access_token)) //access_token过期 { access_token = WXApi.GetAccessToken(AppID, AppSecret); } else { return access_token; } } //更新access_token HttpContext.Current.Application["access_token"] = access_token; return access_token; } #endregion
Controller:
public void GetAccessToken() { string access_token = AdminUtil.GetAccessToken(); Response.Write("access_token=" + access_token); }
工具类:
public static class WXModel { public static string access_token; public static string AppID; public static string AppSecret; public static string mch_id; public static string key; }
public class HttpRequestUtil { #region 请求Url,不发送数据 /// <summary> /// 请求Url,不发送数据 /// </summary> public static string RequestUrl(string url) { return RequestUrl(url, "POST"); } #endregion #region 请求Url,不发送数据 4000 /// <summary> /// 请求Url,不发送数据 /// </summary> public static string RequestUrl(string url, string method) { // 设置参数 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = method; request.ContentType = "text/html"; request.Headers.Add("charset", "utf-8"); //发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream responseStream = response.GetResponseStream(); StreamReader sr = new StreamReader(responseStream, Encoding.Default); //返回结果网页(html)代码 string content = sr.ReadToEnd(); return content; } #endregion #region 请求Url,发送json数据 /// <summary> /// 请求Url,发送json数据 /// </summary> public static string RequestUrlSendMsg(string url, string method,string JSONData) { byte[] bytes = Encoding.UTF8.GetBytes(JSONData); // 设置参数 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = method; request.ContentType = "text/html"; request.Headers.Add("charset", "utf-8"); Stream reqstream = request.GetRequestStream(); reqstream.Write(bytes, 0, bytes.Length); //声明一个HttpWebRequest请求 request.Timeout = 90000; //设置连接超时时间 request.Headers.Set("Pragma", "no-cache"); //发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream responseStream = response.GetResponseStream(); StreamReader sr = new StreamReader(responseStream, Encoding.Default); //返回结果网页(html)代码 string content = sr.ReadToEnd(); return content; } #endregion }
相关文章推荐
- ASP.NET之MVC 微信公众号授权给第三方平台的技术实现流程一(获取第三方平台access_token)
- 微信公众号入门笔记(四)获取access_token
- nodejs中微信公众号开发-access_token获取与保存
- 微信公众号开发——获取access_token(PHP版)
- 微信公众号access_token的获取与存储
- php 获取微信公众号access_token
- 微信公众号开发者模式 定时任务 获取ACCESS_TOKEN
- php curl获取微信公众号access_token
- 微信公众号推送消息获取access_token
- 【Node.js 微信公众号实战】2.Node.js access_token的获取、存储及更新
- 微信公众号开发获取access_token和jsapiticket
- 微信公众号平台接口开发:基础支持,获取access_token
- java中获取微信公众号的access_token
- 微信公众号开发-获取access_token
- 和小猪一起搞微信公众号开发—获取Access_token
- 微信公众号获取access_token
- PHP cURL获取微信公众号access_token
- PHP 获取微信公众号的access_token
- PHP cURL获取微信公众号access_token