登录功能代码

       #region 私有字段        private  string responseString;        private  static string key;        private  static string url;        private  static string session;        private static string token;        private static string nick;        #endregion

        /// <summary>        /// 获取身份码 和识别码        /// </summary>        /// <returns></returns>        public string GetUniqueID()        {            byte[] byteArray = DeviceExtendedProperties.GetValue("DeviceUniqueId") as byte[];            string strTemp = "";            string strDeviceUniqueID = "";            foreach (byte bt in byteArray)            {                strTemp = bt.ToString();                if (1 == strTemp.Length)                {                    strTemp = "00" + strTemp;                }                else if (2 == strTemp.Length)                {                    strTemp = "0" + strTemp;                }                strDeviceUniqueID += strTemp;            }            return strDeviceUniqueID;        }        /// <summary>        /// 将身份码和识别码以字典集合的形式返回        /// </summary>        /// <param name="str"></param>        /// <returns></returns>        public List<string> GetStr(string str)        {            List<string> strList = new List<string>();            strList.Add(str.Substring(0, 15));            strList.Add(str.Substring(14, 15));            return strList;        }        /// <summary>        /// 得到签名        /// </summary>        /// <param name="appkey"></param>        /// <param name="appsecret"></param>        /// <returns></returns>        public string CreateSign(string appkey, string appsecret)        {            string str = appkey + appsecret + DateTime.Now.Millisecond;            MD5Helper MD5 = MD5Helper.Create();

            str = Convert.ToBase64String(MD5.ComputeHash(Encoding.UTF8.GetBytes(str)));

            return str;        }        /// <summary>        /// Load事件        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)        {

            //登陆第一步    调用第一个接口:com.taobao.wireless.mtop.getLoginUrl              List<string> strList = GetStr(GetUniqueID());            string url = "http://api.m.taobao.com/rest/api2.do?api=com.taobao.wireless.mtop.getLoginUrl";            string ttid = "&ttid=400000_12315576@wp7stk_windowsphone7_1.0.0";            string data = "&data={%22appkey%22:%2212315576%22}";            url += "&v=windowsphone7Client";            url += ttid;            url += "&imei=";            url += strList[0].ToString();            url += "&imsi=";            url += strList[1].ToString();            url += data;            url += "&sign=";            url += CreateSign("12315576", "5734907fbdd9af8f23493a9411ba9805");            //----------------------------------------以上为字符串的拼接,调用几个方法最终将url拼装成需要的请求的地址

            //WebBrowserTask web = new WebBrowserTask();            //web.URL = url;            //web.Show();            //-------------------------------------以下为发出请求,切忌,此步单单是请求,并没有发送请求的数据流            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);            request.ContentType = "application/x-www-form-urlencoded;charset=utf-8";            request.Method = "POST";            request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);        }        private void GetResponseCallback(IAsyncResult asynchronousResult)        {            //try            //{                HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;                HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);                Stream streamResponse = response.GetResponseStream();                StreamReader streamRead = new StreamReader(streamResponse);                responseString = streamRead.ReadToEnd();                         //以字符串形式接收json数据                //---------------------------------------------------注意此步为解析json数据,在本页底部为此定义了Text和Data两个实体类                byte[] b = Encoding.UTF8.GetBytes(responseString);                MemoryStream stream = new MemoryStream(b);                DataContractJsonSerializer data = new DataContractJsonSerializer(typeof(Text));                Text t = (Text)data.ReadObject(stream);                key = t.Data.Key;                url = t.Data.Url;                //------------------------------------------------------------------------------------------------------------------                streamResponse.Close();                streamRead.Close();                response.Close();

                Dispatcher.BeginInvoke(                    () =>                    {                        this.webBLoad.Navigate(new Uri(url));                        MessageBox.Show("请在登录后授权本软件!", "温馨提示", MessageBoxButton.OK);                    });            //}            //catch            //{            //    MessageBox.Show("网络连接有误!");            //}        }

        private void GetResponseCall(IAsyncResult asynchronousResult)        {

            HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;            HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);            Stream streamResponse = response.GetResponseStream();            StreamReader streamRead = new StreamReader(streamResponse);            responseString = streamRead.ReadToEnd();            //---------------------------------------------------------此部分也是解析json数据,在本页底部也为此定义了Test和data两个实体类            byte[] b = Encoding.UTF8.GetBytes(responseString);            MemoryStream stream = new MemoryStream(b);            DataContractJsonSerializer data = new DataContractJsonSerializer(typeof(Test));            Test t = (Test)data.ReadObject(stream);            token = t.Data.Token;            session = t.Data.Topsession;            nick = t.Data.Nick;            //-----------------------------------------------------------------------------------------------------            LoadBLL.GetLoad(nick, session);            streamResponse.Close();            streamRead.Close();            response.Close();

            Dispatcher.BeginInvoke(                () =>                {                    if (LoadBLL.Load.Count == 0 || LoadBLL.Load[0] == null)                    {                        MessageBox.Show("登录授权失败!");                        NavigationService.GoBack();                    }                    else                    {                        NavigationService.GoBack();                    }

                });        }

        private void webBLoad_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)        {            if (e.Uri.AbsolutePath.Equals("/mtop/bind_app_result.htm"))            {                List<string> strList = GetStr(GetUniqueID());                string uri = "http://api.m.taobao.com/rest/api2.do?api=com.taobao.client.mtop.getUserSessionKey";                string ttid = "&ttid=400000_12315576@wp7stk_windowsphone7_1.0.0";                string data = "&data={\"key\":\"" + key + "\",\"appkey\":\"12315576\"}";                uri += "&v=windowsphone7Client";                uri += ttid;                uri += "&imei=";                uri += strList[0].ToString();                uri += "&imsi=";                uri += strList[1].ToString();                uri += data;                uri += "&sign=";                uri += CreateSign("12315576", "5734907fbdd9af8f23493a9411ba9805");                this.webBLoad. Navigate(new Uri(uri));                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);                request.ContentType = "application/x-www-form-urlencoded;charset=utf-8";                request.Method = "POST";                request.BeginGetResponse(new AsyncCallback(GetResponseCall), request);            }        }

        private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)        {            PageOrientation ori= this.Orientation;            if (ori == PageOrientation.Portrait || ori == PageOrientation.PortraitDown || ori == PageOrientation.PortraitUp || ori == PageOrientation.None)            {                this.webBLoad.Height = 720;                this.webBLoad.Width=480;            }            if (ori == PageOrientation.Landscape || ori == PageOrientation.LandscapeLeft || ori == PageOrientation.LandscapeRight)            {                this.webBLoad.Width = 730;                this.webBLoad.Height = 430;            }        }    }

taobao 登录功能代码 淘宝相关推荐

  1. taobao.trade.memo.update淘宝店铺订单交易备注修改接口(订单插旗接口,订单交易接口,订单明文接口,订单解密接口)代码对接教程

    taobao.trade.memo.update淘宝店铺订单交易备注修改接口(订单插旗接口,订单交易接口,订单明文接口,订单解密接口)代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码 ...

  2. taobao.trade.memo.update淘宝店铺订单交易备注修改接口(店铺订单插旗接口,店铺订单交易接口,店铺订单明文接口,店铺订单解密接口)代码对接教程

    taobao.trade.memo.update淘宝店铺订单交易备注修改接口(店铺订单插旗接口,店铺订单交易接口,店铺订单明文接口,店铺订单解密接口)代码对接教程如下: 1.公共参数 名称 类型 必须 ...

  3. 淘宝店铺订单插旗接口(taobao.trade.memo.update淘宝店铺订单交易备注修改接口)代码对接教程

    淘宝店铺订单插旗接口(taobao.trade.memo.update淘宝店铺订单交易备注修改接口)代码对接教程如下 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) k ...

  4. selenium登录 爬取淘宝商品信息

    淘宝网: 淘宝网是亚太地区较大的网络零售.商圈,由阿里巴巴集团在2003年5月创立.淘宝网 是中国深受欢迎的网购零售平台,拥有近5亿的注册用户数,每天有超过6000万的固定访客,同时每天的在线商品数已 ...

  5. 2020用vue实现仿美团导航切换功能和淘宝购物车功能,实现默认第一个导航显示效果?

    总结:之前一直未写过同时实现跳转当前页面和跳转新页面的项目,要么是当前,要么是新页面,今天更新一个两个同时实现的项目. :相信很多人都遇到过router-link通过to跳转页面有时候会不显示内容的b ...

  6. [7]深入浅出工作开源框架Camunda: camunda-webapp 用户登录功能代码分析

    在上个章节<[6]深入浅出工作开源框架Camunda: 如何远程Debug camunda-webapp的源代码>笔者解释了如何进行Camunda的远程Debug,这个章节笔者给大家分享如 ...

  7. 支付宝登录密码和淘宝登录密码一样吗

    支付宝登录密码和淘宝登录密码一样吗? 不一样的.淘宝会员为一个账号,只有一个密码. 支付宝注册账号是邮箱账号来的,有一个登录密码.另外有一个支付密码.是你购物的时候最后付款用的. 我网上购物的年龄已经 ...

  8. 第一次发布npm包时可能遇到到问题。重名、邮箱验证、登录账号、淘宝源换成npm源

    怎么发布自己到模块到npm? 这个文章写得简单明了,这里我就不过多阐述. https://www.jianshu.com/p/f5d4c891830f 不过补充一点:在发布包之前,首先去npm市场去搜 ...

  9. python模拟登录教程_Python淘宝模拟登录教程

    使用教程点击这里下载下载chrome浏览器 查看chrome浏览器的版本号,点击这里下载对应版本号的chromedriver驱动 pip安装下列包pip install selenium点击这里登录微 ...

最新文章

  1. python eval 入门_Python学习笔记整理3之输入输出、python eval函数
  2. 985学校计算机专业毕业月薪过万,这八个985和211大学分数低,容易考,毕业后月薪过万...
  3. [crypto]-53-openssl命令行的使用(aes/rsa签名校验/rsa加密解密/hmac)
  4. dotnet获取PDF文件的页数
  5. sudo su 与 su
  6. Android前端音视频数据接入GB28181平台意义
  7. javascript语法_JavaScript传播语法简介
  8. python视频人脸检测_Python基于OpenCV实现视频的人脸检测
  9. 【转载】Debian 6安装小记
  10. bat怎么发起网络请求_因为一个跨域请求,我差点丢了饭碗
  11. Armadillo Hardware ID Patcher v1.2
  12. 如果因为溢出导致了结果为负,那么逻辑上真正的结果必然为正
  13. html标签 lt heavy gt,HTML Purifier:转换&lt; body&gt;到&lt; div&gt;
  14. 零信任安全和软件定义边界
  15. JAVA 通过属性名称 获取属性值、设置属性值
  16. eLife:情绪学习对人脑记忆整合的回溯性促进机制
  17. 安卓手机与Linux同步后,搜索文件内的内容
  18. 在TeXstuidio中如何设置XeLaTeX编译
  19. 函数名和变量名重名问题
  20. 【C++学习笔记】C++文件操作

热门文章

  1. 小米Max正式发布 三种颜色三种配置
  2. svm对未知数据的分类_SVM对sklearn自带手写数字数据集进行分类
  3. 气泡元素素材推荐 精品 小众
  4. ## **#安装数据库SQL Server 2008R2 时,提示安装或配置microsoft.net framework 3.5 sp1**
  5. cv2图像修补inpaint
  6. 邮箱Pop3 smtp地址服务器配置方法:
  7. 【深度学习】学习案例:Keras 多层感知器手写数字识别
  8. meshing-局部加密
  9. 前端学习笔记之CSS3基础语法与盒模型(二)
  10. 《浪潮之巅》——当年摩托罗拉系统输在Java慢,Android赢在C++