Ejemplo n.º 1
0
        /// <summary>
        /// 获取验证码
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public static string GetValidateCode(string url, CookieContainer webCookie, out Bitmap bmpImage)
        {
            try
            {
                //获取验证码
                Image HeadImage = HttpHelps.GetPicture(url, webCookie);

                //处理图片
                Bitmap bitmap = new Bitmap(HeadImage);

                UnCodebase ud = new UnCodebase(bitmap);
                ud.GrayByPixels();
                ud.ClearNoise(128, 2);

                //识别验证码
                tessnet2.Tesseract ocr = new tessnet2.Tesseract();                   //声明一个OCR类
                ocr.SetVariable("tessedit_char_whitelist", "0123456789");            //设置识别变量,当前只能识别数字。
                ocr.Init(Application.StartupPath + @"\\tmpe", "eng", true);          //应用当前语言包。
                List <tessnet2.Word> result = ocr.DoOCR(ud.bmpobj, Rectangle.Empty); //执行识别操作
                string validateCode         = result[0].Text;

                //pictureBox1.Image = ud.bmpobj;
                bmpImage = ud.bmpobj;
                return(validateCode);
            }
            catch (Exception ex)
            {
                function.log("验证码获取错误" + ex.Message);
                bmpImage = null;
                return("");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取图片缩略图
        /// </summary>
        /// <param name="MsgID"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public Image GetImage(string MsgID, string type)
        {
            if (type == "slave")
            {
                uri = domain + "/cgi-bin/mmwebwx-bin/webwxgetmsgimg?&MsgID=" + MsgID + "&skey=" + skey + "&type=slave";
            }

            if (type == "slaveImage")
            {
                uri = domain + "/cgi-bin/mmwebwx-bin/webwxgetmsgimg?&MsgID=" + MsgID + "&skey=" + skey;
            }

            if (type == "location")
            {
                uri = domain + "/cgi-bin/mmwebwx-bin/webwxgetpubliclinkimg?url=xxx&msgid=" + MsgID + "&pictype=location";
            }
            return(HttpHelps.GetPicture(uri, cookie));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取原创表情
        /// </summary>
        /// <param name="MsgID"></param>
        /// <returns></returns>
        public Image GetOriginal(string MsgID)
        {
            Image img = HttpHelps.GetPicture(domain + "/cgi-bin/mmwebwx-bin/webwxgetmsgimg?&MsgID=" + MsgID + "&skey=" + skey + "&type=big", cookie);

            return(img);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取离线消息推送
        /// </summary>
        public void OfflineMessage()
        {
            string uri  = domain + "/cgi-bin/mmwebwx-bin/webwxinit?pass_ticket=" + pass_ticket + "&r=" + function.MilliTime() + "&skey=" + skey;
            string Date = "{\"BaseRequest\":{\"Uin\":\"" + wxuin + "\",\"Sid\":\"" + wxsid + "\",\"Skey\":\"" + skey + "\",\"DeviceID\":\"" + DeviceID() + "\"}}";
            string s    = HttpHelps.Post(Date, uri, ref cookie, Encoding.UTF8);

            //cookie = Regex.Replace(cookie, "^[Domain].*[(GMT)|(GMT,)]$", "");

            cookie            = function.Deletetext(cookie, "Domain", "GMT").Replace("Secure,", null);
            webwx_data_ticket = "wxuin=" + wxuin + "; wxsid=" + wxsid + ";  webwx_data_ticket=" + function.middlestring(cookie, "webwx_data_ticket=", ";") + ";";

            Offline = JObject.Parse(s);

            //获取本号参数
            UserName  = Offline["User"]["UserName"].ToString();
            NickName  = Offline["User"]["NickName"].ToString();
            HeadImage = function.CreateRoundRectImage(function.SoftenImage(new Bitmap(HttpHelps.GetPicture(domain + Offline["User"]["HeadImgUrl"].ToString(), cookie))));
            session   = Offline["ContactList"];
            JToken record = Offline["SyncKey"];

            //获取POST秘钥
            SkeyPost = record.ToString();
            //获取GET秘钥
            string str = "";

            foreach (JObject jp in record["List"])
            {
                str = str + jp["Key"].ToString() + "_";
                str = str + jp["Val"].ToString() + "|";
            }
            SkeyGet = str.Substring(0, str.Length - 1);
            FriendsList(true);
        }