这位怪蜀黍 中午的时光真难熬!还好有你在!

入坑微信小程序必经之路(八)服务模板通知——WebService接口获取AccessToken

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#region 模板消息推送
   public string fw_appid = System.Configuration.ConfigurationManager.AppSettings["appid"].ToString();
   public string fw_secret = System.Configuration.ConfigurationManager.AppSettings["secret"].ToString();
 
 
   /// <summary>
   /// 获取AccessToken
   /// </summary>
   /// <returns></returns>
   [WebMethod(Description = "获取AccessToken")]
   public string GetAccessToken()
   {
       string appid = fw_appid;
       string secret = fw_secret;
       string strJson =wb163Cms.BLL.BLL_Weixin_Config.RequestUrl(string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret), "Get");
       //Session["AccessToken"] = wb163Cms.BLL.BLL_Weixin_Config.GetJsonValue(strJson, "access_token");
       return wb163Cms.BLL.BLL_Weixin_Config.GetJsonValue(strJson, "access_token");
   }
 
 
  
   #endregion

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class BLL_Weixin_Config
{
 
    //公共方法,request网络获取
    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.UTF8);
        //返回结果网页(html)代码
        string content = sr.ReadToEnd();
        return content;
    }
 
 
    //公共方法,获取Json
    public static string GetJsonValue(string jsonStr, string key)
    {
        string result = string.Empty;
        if (!string.IsNullOrEmpty(jsonStr))
        {
            key = "\"" + key.Trim('"') + "\"";
            int index = jsonStr.IndexOf(key) + key.Length + 1;
            if (index > key.Length + 1)
            {
                //先截逗号,若是最后一个,截“}”号,取最小值
                int end = jsonStr.IndexOf(',', index);
                if (end == -1)
                {
                    end = jsonStr.IndexOf('}', index);
                }
 
                result = jsonStr.Substring(index, end - index);
                result = result.Trim(new char[] { '"', ' ', '\'' }); //过滤引号或空格
            }
        }
        return result;
    }
}

  

posted @   蟾宝  阅读(212)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示