zoukankan      html  css  js  c++  java
  • 天猫登录源码 POST C#

    HttpHelper 请从网络中搜索;

        public partial class LoginTMall : Form

        {    

         public LoginTMall()

            {          

         InitializeComponent();     

            }

            private void btnLogin_Click(object sender, EventArgs e)     

        {         

        string postDate = getPostString();         

        HttpItem itemLogin = new HttpItem()        

         {           

          URL = "https://login.taobao.com/member/login.jhtml",    

                 Method = "POST",        

             ContentType = "application/x-www-form-urlencoded",       

              Referer = "https://www.taobao.com/",        

             Postdata = postDate,        

             Cookie = CommonDB.tmailModel.cookie,   

              };     

            HttpHelper helperLogin = new HttpHelper();    

             HttpResult resultLogin = helperLogin.GetHtml(itemLogin);     

            CommonDB.tmailModel.cookie = resultLogin.Cookie;

                string html = resultLogin.Html;

                if (html.ToLower().Contains("gotoURL:"http://www.tmall.com/"".ToLower()) && html.ToLower().Contains("gotoTop:true".ToLower()))             {             

        MessageBox.Show("登录成功!");   

              }      

           else      

           {              

       string namePwdNotMatch = "您输入的密码和账户名不匹配,请重新输入。";         

            string reInputcheckcode = "验证码错误,请重新输入";     

                string checkCodeNeedInput = "为了您的账户安全,请输入验证码。";       

              if (html.Contains(namePwdNotMatch))          

           {            

             MessageBox.Show(namePwdNotMatch);     

                    return;       

              }       

              if (html.Contains(checkCodeNeedInput) || html.Contains(reInputcheckcode))               

      {             

            string checkCodeUrl = "<img id="J_StandardCode_m" src="https://s.tbcdn.cn/apps/login/static/img/blank.gif"";          

            int index = html.IndexOf(checkCodeUrl);          

            html = html.Substring(index, html.Length - index);

            string datasrc = "data-src="";            

            index = html.IndexOf(datasrc);

           html = html.Substring(index, html.Length - index);                   

          html = html.TrimStart(datasrc.ToCharArray());       

                  index = html.IndexOf(""");     

                    html = html.Substring(0, index);            

             setCheckCode(html);             

            MessageBox.Show(checkCodeNeedInput);          

               return;       

              }

                }

            }    

         private void setCheckCode(string url)     

        {       

          try     

            {     

                picBox.Image = Image.FromStream(System.Net.WebRequest.Create(url).GetResponse().GetResponseStream());    

             }             catch (Exception ex)             {                 Text = ex.Message;             }         }

            private void LoginTMall_Load(object sender, EventArgs e)         {         }

            private string getPostString()        

    {            

    PostParaPair model = new PostParaPair();          

       string checkCode = txtCheckCode.Text.Trim();    

             if (checkCode.Length != 0)     

            {      

               model.Add(new PostParaPair()

    { Key = "TPL_checkcode", Value = checkCode });          

       }           

      string pwd = txtPwd.Text.Trim();         

        if (pwd.Length != 0)     

            {      

               model.Add(new PostParaPair() { Key = "TPL_password", Value = pwd });             }     

            string name = txtUName.Text.Trim();       

          if (name.Length != 0)         

        {           

          model.Add(new PostParaPair() { Key = "TPL_username", Value = name });    

             }

                model.Add(new PostParaPair() { Key = "allp", Value = "assets_css=2.0.0/login_pc.css&enup_css=2.0.0/enup_pc.css&assets_js=2.3.8/login_performance.js" });

                model.Add(new PostParaPair() { Key = "CtrlVersion", Value = "1,0,0,7" });             model.Add(new PostParaPair() { Key = "fc", Value = "default" });       

          model.Add(new PostParaPair() { Key = "from", Value = "tmall" });         

        model.Add(new PostParaPair() { Key = "full_redirect", Value = "true" });      

           model.Add(new PostParaPair() { Key = "loginASR", Value = "0" });           

      model.Add(new PostParaPair() { Key = "loginASRSuc", Value = "0" });       

          model.Add(new PostParaPair() { Key = "loginsite", Value = "0" });         

        model.Add(new PostParaPair() { Key = "loginType", Value = "3" });        

         model.Add(new PostParaPair() { Key = "naviVer", Value = "ie|9" });       

          model.Add(new PostParaPair() { Key = "newlogin", Value = "0" });          

       model.Add(new PostParaPair() { Key = "osVer", Value = "windows|6.1" });     

            model.Add(new PostParaPair() { Key = "poy", Value = "XOR_1_000000000000000000000000000000_65585B56440B6279736B017E6F0065" });             model.Add(new PostParaPair() { Key = "pstrong", Value = "2" });     

            model.Add(new PostParaPair() { Key = "sr", Value = "1366*768" });     

            model.Add(new PostParaPair() { Key = "style", Value = "miniall" });     

            model.Add(new PostParaPair() { Key = "sub", Value = "false" });         

        model.Add(new PostParaPair() { Key = "support", Value = "000001" });        

         model.Add(new PostParaPair() { Key = "tid", Value = "XOR_1_000000000000000000000000000000_602B4C5345787C007D7D057F" });             model.Add(new PostParaPair() { Key = "TPL_redirect_url", Value = "http://www.tmall.com/" });       

          model.Add(new PostParaPair() { Key = "ua", Value = "128JqNYCOQNFccufusYO71CC4hyOrlKBYpjQqg=|JaNECYpwPbpBBIV6MrRKA+k=|JKFGYfR2T4A7K/NKU5Z/L7pIFo1kT5E0LPRIR9JEZQ==|I6VcDJljK61XG5xuJKdYFZdpL6hNAYJwOL5FAIR9NLRLA4F5NbRdfA==|IqRWBuoQQMI5ceoQXMcuMb0UGshidflPWs9ZeA==|Ia5JF4IU|IK5JF4IU|L6lTA+8GEtFuYqZXBJw7KPhaSNFuc6sCH8ciPeVDEMpkdaAOAJg/LPxeTNV0YKMFFYBnOaw6Gw==|LqpNau8UXMc7d/gfUNUufvoJRt0naOkURMQ5feYcU9Ivf/8GQqg+|LatTA+8GLfNWTpYqJbJOEItiSbcybugXR8Ana/AKQsApCOI=|LKpRAZQETMwydvIVNaBaEpRuIqVZFJRqJqdeXtk8d/YMQM4ze/8FTMw2f/sATqVMHJoMUrg=|K6tMa/4XR8Anbu4RVL4o|KqhPaP1iTrUhLftDTIwoJvVhLLleef8CR9wmb+t9LapNE4ZhL61eEZQCIw==|KalOafxjT7QgLPpCTY0pJ/RgLbhfEolwObZOC+F3|KKhPaP1iTrUhLftDTIwoJvVhLLleEolwNbVNAet9|N7dQd+J9Uao+MuRcU5M3Oep+M6ZBDZZvKqpSF/1r|NrZRduNiQaUPFcdpca8QXd4kae4VUNEuYe4WWcwrZv0EQcE+dpwK|NbdQd+ILW7dNCJNpLK07a+wLVcAnaO4VUNNFZA==|NLRTdOFgQ6cNF8Vrc60SX9wma+wXUtMsY+wUW84pZf4GS8w+dZ8J|M7NUc+ZnRL8bAN57RZ0ucOsRQcU/cvUOL8U=|MrBXcOVkR7MXD91fTYo0PNR2KLMjbO4JRMo0FY51JbBZCY13PrtIaYM=|MbFWceRlRr0ZAtx5R58scukSQsY8dfECI8k=|MLBXcOVkR7MXD91fTYo0PNR2KLNJGZ1nLq1VdJ4=|P71afegBUb1CDJdtKK44aO8IVsMka+0RVNJEZQ==|Pr5ZfutqSb0ZAdNRQ4Q6Mtp4Jr1GFpJoI61ffpQ=|Pb1afegBUdcwf/kKRsVTcg==|PLxbfOkAUNcwf/kLR8BWdw==|O7tce+5vTLgcBNZURoE/N999I7hCEpZsKa5Wd50=|OrleeewFVdAia/AKTs8oZ+IaUN5IaQ==|Obtce+5vTKgXCtN8YaQLNOxDWs8oD4p0MKtRGpp9M7BMHJpmKbJKAJtiJswrZ/wVAcRqcPoUWt43Z+MaXtkqC+E=|OLhfeO1sT7sfB9VXRYI8NNx+ILtAEJRtKa9Tcpg=|B4dgR9JTcJQrNu9AXZg3CNB/ZvMUWcI6dPsCTacx|BoZhRtNScZUqN+5BXJk2CdF+Z/IVWcI6dPsHQ6k/|BYViRdBRcoYiOuhqeL8BCeFDHYZ8LKhRFZpgQas=|BIZhRtNScZUqN+5BXJk2CdF+Z/IVMrdKApljKKhPAYJ+LqhUG4B4MqlQFP4ZVc4nM/ZYQsgmaOwFVdEuYucfPtQ=|A4NkQ9ZXdIAkPO5sfrkHD+dFG4B7K69QHJhgQas=|AoJlQtdWdZEuM+pFWJ0yDdV6Y/YRXMc/d/APQ6k/|AYFmQdRVdpItMOlGW54xDtZ5YPUSXsU9dfMIRa85|AIBnQNVUd4MnP+1vfboEDORGGIN5Ka1SH5hlRK4=|D41qTdgxYY1wO6BaHpwKWt06ZPEWWdgha+54WQ==|Do5pTttaeY0pMeNhc7QKAupIFo12JqJfEZFuT6U=|DY1qTdgxYecAT843c/BmRw==|DIxrTNkwYOcAT842f/5oSQ==|C4tsS95ffIgsNOZkdrEPB+9NE4hyIqZbFJVuT6U=|CotsS95ffIgsNOZkdrEPB+9NE4h1MapRAYV4PbNKa4E=|CYhvSN1cf4svN+VndbIMBOxOEItxO6BbC49zPb1BYIo=|CIluSdxdfoouNuRmdLMNBe1PEYp2OKNcDIh0O7tHZow=|F5ZxVsNCYZUxKft5a6wSGvJQDpVrJ7xHF5NgK6hSc5k=|FpdwV8JDYJQwKPp4aq0TG/NRD5RuJL9EFJBiL6tSc5k=|FZRzVMFAY5czK/l7aa4QGPBSDJdrIrlGFpJgLqxef5U=|FJRzVMFAY5czK/l7aa4QGPBSDJdsPL9FCItyU7k=|E5F2UcRFZoI8IvhaUrYJFNd1av8YP7pBCJNqIq07a+wLVcAnb+wWX9FHZg==|EpJ1UsdGZYE/IftZUbUKF9R2afwbVs0yevwATqQy|EZJpJb5FFZB3OrlDE5dpIrlHApllLLdNAINkKbJIAoViJ6BHCIdgLalOAYBnKKpNAoFmKa1KDpVtILtDD5RqOr9MHJllNbBXGZt8MrFWGJx7NbBXBoB5KbNMHJpoOL5NHZtnN7FMHIZ0JKJdDYtzI6VcDIpwILpACJNhMb5ZEol0JL5NHYd1Jb9FCZJ0Ob9YCY92JrxGCZJ0OaJECotsPbkv" });             model.Add(new PostParaPair() { Key = "umto", Value = "T7a1f5ec30a29c6b7e223b6872fb8637a" });

                return model.ToString();         }     }

    PostParaPair类的定义
    public class PostParaPair
    {
        List<PostParaPair> paraList = new List<PostParaPair>();
        public string Key { get; set; }
        public string Value { get; set; }
        public void Add(PostParaPair para)
        {
            paraList.Add(para);
        }
        public override string ToString()
        {
            string reString = "";
            if (paraList.Count != 0)
            {
                foreach (PostParaPair item in paraList)
                {
                    reString += string.Format("&{0}={1}", item.Key, CommonMethod.GetUrlEncode(item.Value));
                }
            }
            return reString.TrimStart('&');
        }
    }

    CommonMethod.GetUrlEncode的定义:

        public static string GetUrlEncode(string content)
        {
            return System.Web.HttpUtility.UrlEncode(content, System.Text.Encoding.UTF8);
        }

  • 相关阅读:
    vue 进行ajax请求,使用axios
    webpack 小记
    js闭包
    git小记
    sublime text3 插件安装
    mysql安装
    四十九、django单表操作,多表操作,一对多,多对多,分组查询,聚合查询,F、Q查询,自定义char字段,事务,only与defer ,choices字段
    四十八、模板层,标签,过滤器,继承和导入
    四十七、django路由匹配,分组,反向解析,路由分发,视图层
    四十六、django配置及增删改查
  • 原文地址:https://www.cnblogs.com/magicsong/p/3996487.html
Copyright © 2011-2022 走看看