国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信企業號開發之微信考勤Cookies的使用

2019-11-20 11:34:56
字體:
來源:轉載
供稿:網友

上篇文章給大家介紹了微信企業號開發之微信考勤百度地圖定位,接下來通過本文學習微信企業號開發之微信考勤Cookies的使用,具體內容如下。

使用微信考勤,每次使用微信企業號開發:微信用戶信息和web網頁的session的關系這個里邊的方法,調用微信的接口,有點慢,微信官方也推薦使用Cookies,但如何使用Cookies,自己卻一直沒有搞清楚。

原來一直以為在服務端獲取客戶端的數據有兩個方法,一種就是查詢字符串放在URL上,一種就是放在form中,post提交,自己以前也使用過但主要是在客戶端使用,從來沒法把Cookies中的數據直接提交到服務端,即使有也是通過把Cookies中的數據讀取出來后放入form中的隱藏字段,然后post到服務端。

顯然微信考勤這類其實就是一個URL,在進入URL的過程中,沒有什么post數據的過程。只有進入URL之后再通過用戶提交,或者ajax提交。總之似乎沒法直接把Cookies中的數據直接提交給服務端。似乎陷入了僵局。于是自己再一次研究了Cookies,發現Cookies似乎是主動提交到服務端的,但和post是提交的位置不一樣,當然我沒有找到相關文檔,是測試發現的。只要自己設定了Cookies,每次進入URL都會提交Cookies,自然就可以在服務端讀取到Cookies的值了。這時才真正明白記住密碼的真正實現原理。并不是把Cookies的值讀出來,放入隱藏字段,然后通過ajax提交到服務端,就可以免登陸了。

可以看到Cookies的數據到了服務端,sessionID也是通過Cookies這種方式傳到服務端的。

前端js讀取,設置Cookies的方法:

function setCookie(name, value) {//兩個參數,一個是cookie的名子,一個是值  var Days = 30; //此 cookie 將被保存 30 天  var exp = new Date(); //new Date("December 31, 9998");  exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);  document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); } function getCookie(name) {//取cookies函數    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));  if (arr != null) return unescape(arr[2]); return null; } 

CSharp服務端操作Cookies:

設置Cookies

HttpCookie cookie = new HttpCookie("UserCode", username);    cookie.Expires = DateTime.Now.AddDays(10);// (365 * 24 * 3600);      this.Response.AppendCookie(cookie);    HttpCookie cookieDeviceId = new HttpCookie("DeviceId", rt.DeviceId);    cookieDeviceId.Expires = DateTime.Now.AddDays(10);// (365 * 24 * 3600);      this.Response.AppendCookie(cookieDeviceId); 

讀取Cookies:

HttpCookie ttHttpCookie = this.Request.Cookies.Get("UserCode"); HttpCookie ttHttpCookieDeviceId = this.Request.Cookies.Get("DeviceId"); string code = Request.QueryString["code"]; if (ttHttpCookie == null || ttHttpCookieDeviceId == null) {  WeiApi(code); } else {  string username = ttHttpCookie.Value;  string DeviceId = ttHttpCookieDeviceId.Value;  if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(DeviceId))  {   WeiApi(code);  }  else {   new AppException("讀取Cookies UserCode=" + username + ",DeviceId=" + DeviceId);   initSession(username, DeviceId);  } } 

以上內容給大家介紹了微信企業號開發之微信考勤Cookies的使用,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柳州市| 青冈县| 昌乐县| 冕宁县| 承德县| 南皮县| 历史| 顺昌县| 多伦县| 瑞安市| 浏阳市| 翼城县| 永修县| 鄱阳县| 安乡县| 洞口县| 儋州市| 巴南区| 新兴县| 汕头市| 陇川县| 高陵县| 犍为县| 抚顺县| 垣曲县| 凯里市| 大庆市| 习水县| 油尖旺区| 资阳市| 社会| 扶风县| 始兴县| 扬州市| 肥东县| 西城区| 嘉禾县| 峨山| 武穴市| 抚宁县| 胶州市|