1. 程式人生 > >C#利用HttpClient獲取微信Web掃描登入二維碼

C#利用HttpClient獲取微信Web掃描登入二維碼

HttpClient是微軟提供的Http操作的類庫。在.Net下建立專案後需要引入System.Net.Http,然後using System.Net.Http。微信Web獲得登入二維碼用的是Http的get方法。在HttpClient中是通過GetAsync進行。其中還包括獲取當前時間的毫秒數,通過正則表示式獲取uuid,並把獲得的微信登入二維碼儲存到本地png檔案中。具體如下:
Stringuuid = "";
           //建立HttpClient例項
           HttpClient httpClient = new HttpClient();
           //以下程式碼是獲得當前時間至1970年1月1號的毫秒數
           long currentTicks=DateTime.Now.Ticks;
           DateTime dtFrom = new DateTime(1970, 1, 1, 0, 0, 0, 0);
           long currentMillis = (currentTicks - dtFrom.Ticks) / 10000;
           //獲取微信Web的uuid
           HttpResponseMessage response = httpClient.GetAsync("https://login.weixin.qq.com/jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%2Fwx.qq.com%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_CN&_=";+ currentMillis.ToString()).Result;
           //判斷是否成功
           if (response.IsSuccessStatusCode)
            {
               String result = response.Content.ReadAsStringAsync().Result;
               //通過正則表示式獲取uuid
               String ss="window.QRLogin.code = (\\d+); window.QRLogin.uuid = \"(\\S+?)\";";
               Regex regex =new Regex(ss);
               Match match = regex.Match(result);
                uuid=match.Groups[2].Value;
               //獲取uuid後,通過uuid獲得登入二維碼,這裡返回的png位元組流
                response=httpClient.GetAsync("https://login.weixin.qq.com/qrcode/";+ uuid).Result;
               byte[] bytes = response.Content.ReadAsByteArrayAsync().Result;//  .ReadAsStreamAsync().Result;
               //在本地建立png檔案,把返回的二維碼圖片儲存在png檔案中
               FileStream pngFile = new FileStream("d:\\anxiuyun\\login\\kk.png",FileMode.Create);
                pngFile.Write(bytes,0,bytes.Length);
                pngFile.Flush();
                pngFile.Close();
            }

            這裡獲得微信web登入二維碼用了微信的兩個介面: 1、get方法獲取uuid 引數:appid: wx782c26e4c19acffb ;fun : new ;lang: zh_CN ;_ : 時間戳 2、get方法獲取二維碼 把上一步獲得uuid賦到url後邊

相關推薦

C#利用HttpClient獲取Web掃描登入

HttpClient是微軟提供的Http操作的類庫。在.Net下建立專案後需要引入System.Net.Http,然後using System.Net.Http。微信Web獲得登入二維碼用的是Http

關於.NET HttpClient方式獲取小程式碼(

隨著微信小程式的火熱應用,市面上有關小程式開發的需求也多了起來。近來分析了一項生成有關生成微信小程式碼的需求——要求掃碼跳轉到小程式指定頁面(帶引數);看了下小程式官方文件,以及網上的例子,未看到多少有價值的採用C#呼叫小程式介面生成小程式碼的例子,於是拾起多年前的程式碼,略作分析嘗試

Android Zxing實現掃描條形碼功能仿整合閃光燈生成

最近在做android專案需要用到二維碼條形碼掃描功能,我用的是Eclipse網上原始碼大多是GitHup上的Android studio版本的所以我改了一版整合到專案中去。 效果圖: 左邊版本的掃碼框是自定義的。右邊版本的掃碼框和掃描線是圖片因為太醜所以最終換成左邊

公眾平臺開發,模板消息,網頁授權,JS-SDK,生成(4)

支持 post 網頁 信息 行業 使用步驟 獲取 公眾 符號 微信公眾平臺開發,模板消息,什麽是模板消息,模板消息接口指的是向用戶發送重要的服務通知,只能用於符合場景的要求中去,如信用卡刷卡通知,購物成功通知等等。不支持廣告營銷,打擾用戶的消息,模板消息類有固定的模板,每個

小程式 - 生成

生成二維碼有兩種方式: 前端生成(僅展示用)   1 onShow: function() { 2 3 $.setTitle('推廣二維碼'); 4 5 let _this = this; 6 wx.request({ 7

小程式---生成工具weapp-qrcode.js的使用

在小程式中引入weapp-qrcode.js,然後在需要轉化的頁面引入這個js, var QRCode=require("../../utils/weapp-qrcode.js")  頁面wxml <canvas class='canvas' canvas-id='

掃一掃跳轉到瀏覽器開啟下載連結怎麼做的

微信被認為是目前最具營銷價值的營銷渠道之一,原因很簡單,微信是目前超高活躍度的app穩穩第一名,但是在微信中點選app下載連結,都是無法下載app的。因為騰訊為了自身利益,遮蔽了其他app直接在微信中下載。我們要怎麼解決這個問題呢? 解決方式: 微信中開啟連結,自動開啟外部瀏覽器開啟頁面 微信中點選或開啟

小程式推廣海報Node.js實現版

引言 最近公司的微信小程式專案由於業務需求需要實現二維碼推廣海報,而小程式的服務端程式碼是用node.js實現的,由於是第一次使用node.js作為服務端來實現圖片的相關處理,不免走了一些坑。所以為了避免大家也像我一樣花費不必要的時間爬坑,就將我再開發過程中遇到的一些過程記錄下來,供大家參考,水平有限,請相

基於base64小程式生成外掛-weapp-qrcode.js

weapp-qrcode PS: 主要在node-yaqrcode專案基礎上進行改造適應微信小程式 說明 只需要在 wxml 檔案中增加個image標籤動態引用base64編碼即可 <image src="{{qrcodeURL}"> </image> JS呼叫例子: c

小程式生成外掛基於base64-weapp-qrcode.js

# weapp-qrcode 微信小程式生成二維碼的外掛,基於base64編碼輸出二維碼,不依賴canvas 詳情demo可以去github上預覽-**[weapp-qrcode.js](https://github.com/Pudon/hello-pixi)** https

小程式-生成-如何在本地js中除錯呼叫

官方連結   let appId = 'wxbf338********361'; let secret = 'ce5e6c73*********************8a'; let getUrl = 'https://api

使用TCP協議完成Xposed hook個人免籤支付系統,支援qq,,支付寶實時生成

由於之前思路使用natapp對映,但是個人是個比較愛折騰的人,覺得配置域名比較麻煩,於是就大致對整個系統思考了下,準備把APP承擔的服務端職責抽離出來,大致以下倆個思路 1、APP和服務端不進行TCP連結,而是使用一種比較迂迴的方法,作為使用者端不再去請求APP拿二維碼資料

實現帶引數的功能

.近期專案中需要使用到將在門店註冊的會員做個區分,以便每個商戶統計在微商城內的業績 在這裡就需要使用到帶引數的二維碼。將門店引數載入二維碼裡面,使用者在掃描二維碼後,將使用者唯一的openid關聯到使用者掃碼的門店   1 ,實現步驟 ① 當然是拿到使用者的accesstoken這個很重要,

公眾號使用:檢視和下載公眾號的

       作為微信公眾號的維護人員來說,不僅要知道微信公眾號的基本功能,還要知道微信公平臺的法律法規,釋出文章的規則等常識。微信公眾號申請成功之後,檢視並下載微信公眾號的二維碼是比較常見的需求,而且新增微信公眾號的時候不僅是通過搜尋新增,也要通過直接掃描二維碼識別

小程式生成、生成圖片、儲存圖片到本地相簿

<!--畫布遮罩--> <!--生成二維碼的畫布--> <canvas canvas-id="myCanvas" style='width:{{ercode_canvasWidth}}px;height:{{ercode_canvasHeight

公眾號關注開發

ps:微信相關開發部落格地址:https://www.cnblogs.com/txw1958/p/ 本文介紹在微信公眾平臺上如何使用高階介面開發生成帶引數二維碼的功能。   一、場景二維碼 為了滿足使用者渠道推廣分析的需要,公眾平臺提供了生成帶引數二維碼的介面。使用該介面可

java 帶引數的

//獲取ticketpublic static String getQr(String accessToken, String jsonMsg){ String result = null;

小程式生成介面呼叫

小程式生成二維碼這個介面可以在小程式裡面做, 也可以在java後臺做, 此篇部落格記錄的是在java後臺請求微信的介面生成; 場景: 如果要生成帶引數二維碼拿出去做裂變推廣, 生成的二維碼數量多. 此時不可能一個個通過草料或者阿拉丁來做, 只能請求官方的介面生成; 準備工作: a

小程式建立

1.獲取小程式的accessToken 資訊2.呼叫介面獲取小程式碼或小程式二維碼介面A: 適用於需要的碼數量較少的業務場景介面地址:https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN 獲取 a

小程式生成,並且進行傳參。

微信小程式生成二維碼第一步.首先我們需要去拿到Token值 第一步是一個比較常規的操作,未遇到大的問題。第二步.拿著Token進行換取二維碼    這一不是很關鍵的地方,騰訊用token換取二維碼的方法有三組介面A,B,C    我們推薦生成並使用小程式碼,它具有更好的辨識度