国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - MVC微信網頁授權獲取用戶OpenId

MVC微信網頁授權獲取用戶OpenId

2020-03-24 14:15赤月奇 ASP.NET教程

這篇文章主要為大家詳細介紹了MVC微信網頁授權,在模板頁中獲取用戶openid,感興趣的小伙伴們可以參考一下

最近開發微信公眾平臺,做下記錄,以前也開發過,這次開發又給忘了,搞了半天,還是做個筆記為好。 

注意框架為MVC 開發微信公眾平臺。場景為,在模板頁中獲取用戶openid,想要進行驗證的頁面,集成模板頁就可以了。 

在_Layout.cshtml中加入如下代碼 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>@ViewBag.Title - My ASP.NET Application</title>
  @Styles.Render("~/Content/css")
  @Scripts.Render("~/bundles/modernizr")
  @{
    var code = HttpContext.Current.Request["code"];
    Log.logmsg(code);
    string urlpath = HttpContext.Current.Request.Url.AbsoluteUri.ToString();
    ViewBag.at = AdminUtil.GetOpenID(urlpath, code);
  }
</head>

類AdminUtil中加入GetOpenID方法 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#region 獲取OpenID
    /// <summary>
    /// 獲取OpenID
    /// </summary>
    public static string GetOpenID(string redirect_url, string code)
    {
      string AppID = WXModel.AppID;
      string AppSecret = WXModel.AppSecret;
      string openid = "";
      openid = WXApi.GetOpenID(AppID, redirect_url, code, AppSecret);
      return openid;
    }
    #endregion

類WXApi中加入GetOpenID方法 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#region 獲取OpenId
   /// <summary>
   /// 獲取OpenId
   /// </summary>
   public static string GetOpenID(string appid, string redirect_url, string code, string screct)
   {
     string strJson = "";
     if (string.IsNullOrEmpty(code))
     {
       redirect_url = HttpUtility.UrlEncode(redirect_url);
       HttpContext.Current.Response.Redirect(string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state={2}#wechat_redirect",
         appid, redirect_url, new Random().Next(1000, 200000).ToString()));
     }
     else
     {
       strJson = HttpRequestUtil.RequestUrl(string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code",
       appid, screct, code));
     }
     return Tools.GetJsonValue(strJson, "openid");
   }
   #endregion
?
1
2
3
4
5
6
public static class WXModel
  {
    public static string access_token;
    public static string AppID;
    public static string AppSecret;
  }
?
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
/// <summary>
 /// 工具類
 /// </summary>
 public class Tools
 {
   #region 獲取Json字符串某節點的值
   /// <summary>
   /// 獲取Json字符串某節點的值
   /// </summary>
   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;
   }
   #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
public class HttpRequestUtil
  {
    #region 請求Url,不發送數據
    /// <summary>
    /// 請求Url,不發送數據
    /// </summary>
    public static string RequestUrl(string url)
    {
      return RequestUrl(url, "POST");
    }
    #endregion
 
    #region 請求Url,不發送數據
    /// <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
  }

注意:需要在微信公眾平臺中設置授權回調域

MVC微信網頁授權獲取用戶OpenId

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 激情综合五月天 | 久久久精品在线 | 日本全黄裸体片 | 亚洲精品国产成人 | 久久久www | 久久美女| 久久精品免费观看 | 精品国产乱码久久久久久影片 | 国产精品免费观看 | 91观看| 亚洲欧美激情精品一区二区 | 日韩电影免费在线观看中文字幕 | 国产真实精品久久二三区 | 日韩精品一区二区三区中文字幕 | 精品1区 | 午夜激情视频在线观看 | 伊人av在线 | 黄色一级片久久 | 一本综合久久 | 黄色av影院 | 日韩欧美中字 | 欧日韩在线视频 | 在线中文字幕视频 | 亚洲美女性视频 | 在线一区二区三区 | 一本大道色卡1卡2卡3 | 干中文字幕 | 久久综合狠狠综合久久综合88 | 狠狠人人 | 91超碰在线观看 | 伊人亚洲 | 久久国产精品无码网站 | 久久久久久免费毛片精品 | 亚洲午夜精品一区二区三区 | 欧美日韩在线视频观看 | 久久精品久久久 | 日韩精品一区在线 | 欧美不卡在线 | 精品日韩一区二区 | 在线国产视频 | 中文字幕高清一区 |