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

首頁 > 學院 > 開發設計 > 正文

C#判斷用戶是否使用微信瀏覽器,并據此來顯示真實內容或二維碼

2019-11-17 02:17:38
字體:
來源:轉載
供稿:網友

C#判斷用戶是否使用微信瀏覽器,并據此來顯示真實內容或二維碼

平時我們看一些網頁的時候會發現這樣的功能:有的頁面只能在微信里訪問,如果在電腦上訪問就只顯示當前地址的二維碼。這個用C#怎么實現呢?我們結合代碼來看看。

首先,我們需要先判斷用戶使用的是什么瀏覽器,這需要用到 Request.UserAgent 屬性,通過捕捉微信瀏覽器和普通瀏覽器的UserAgent會發現它們的區別,下面是幾款常用瀏覽器的UserAgent:

微信瀏覽器:Mozilla/5.0(linux;U;Android 4.4.2;zh-cn;2013022 Build/HM2013022)AppleWebKit/533.1(KHTML,like Gecko)Version/4.0MQQBrowser/5.4 TBS/025438 Mobile Safari/533.1MicroMessenger/6.2.0.54_r1169949.561 NetType/WIFI Language/zh_CN

火狐:Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

IE11:Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko

谷歌瀏覽器:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36

對比上面4個瀏覽器的UserAgent可以發現,微信瀏覽器的UserAgent最關鍵的就是包含上面標紅色的MicroMessenger ,所以我們可以據此來判斷用戶是否使用了微信瀏覽器:

1     string userAgent = Request.UserAgent;  2     if (userAgent.ToLower().Contains("micromessenger"))  3     {  4         Response.Write("歡迎您在微信中訪問我。");  5     }  6     else  7     {  8         Response.Write("請在微信中訪問本頁。");  9     }  

到此我們實現了判斷用戶是否使用了微信瀏覽器,下面開始第二步:在非微信瀏覽器訪問時生成二維碼。

C#生成二維碼有一個非常好用的插件:ThoughtWorks.QRCode 。它的使用非常簡單,我們從官網上下載ThoughtWorks.QRCode.dll之后,引用到我們的項目里,然后在頁面中引入ThoughtWorks.QRCode.Codec 命名空間,接下來就可以操作生成二維碼了:

 1     /// <summary>   2         /// 生成二維碼   3         /// </summary>   4         PRivate void CreateQRCode()   5         {   6             string enCodeString = Request.Url.ToString();   7             QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();   8             qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//編碼方式(注意:BYTE能支持中文,ALPHA_NUMERIC掃描出來的都是數字)   9             qrCodeEncoder.QRCodeScale = 10;//大小(值越大生成的二維碼圖片像素越高)  10             qrCodeEncoder.QRCodeVersion = 0;//版本(注意:設置為0主要是防止編碼的字符串太長時發生錯誤)  11             qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//錯誤效驗、錯誤更正(有4個等級)  12       13             string filename = Request.Url.ToString().Replace("/", "").Replace("http://", "").Replace(".", "").Replace(":", "").Replace("?", "").Replace("&", "") + ".jpg";  14             string path = Server.MapPath("~/qrcode/");  15             if (!File.Exists(path + filename))  16             {  17                 Bitmap bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);  18                 if (!Directory.Exists(path))  19                     Directory.CreateDirectory(path);  20                 bt.Save(path + filename);  21             }  22             string html = "<img src='qrcode/" + filename + "' width='330px' height='330px'/>";  23             html += "<h3>該內容僅限在微信瀏覽器下閱讀!請用微信掃描,打開此頁面!</h3>";  24             divQRCode.InnerHtml = html;  25         }  

頁面上有一個div來顯示二維碼提示。

1 <div id="viewQRCode" runat="server" style="text-align:center;">          2 </div> 

修改上面判斷微信瀏覽器的代碼:

1     string userAgent = Request.UserAgent;  2     if (userAgent.ToLower().Contains("micromessenger"))  3     {                    Response.Write("歡迎您在微信中訪問我。");  4     }  5     else  6     {  7         CreateQRCode();  8     }  

到這里就大功告成了,我們來看下在普通瀏覽器和微信瀏覽器上瀏覽這個頁面的不同效果:

在電腦上訪問此頁面

在普通瀏覽器上訪問的效果

微信訪問的效果

用微信掃描訪問的效果


上一篇:在線程中執行代碼

下一篇:大網站記錄

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保靖县| 武夷山市| 琼结县| 文山县| 聂拉木县| 天镇县| 玉溪市| 华坪县| 绥阳县| 九龙坡区| 比如县| 昆明市| 兴宁市| 广灵县| 尖扎县| 乐陵市| 宣化县| 上饶市| 莒南县| 当雄县| 穆棱市| 布拖县| 临江市| 安顺市| 万州区| 汉寿县| 梅州市| 广宁县| 墨竹工卡县| 大石桥市| 巴南区| 长海县| 临夏县| 邵东县| 巴塘县| 津南区| 曲阜市| 云龙县| 胶州市| 平远县| 西乌珠穆沁旗|