天猫登录源码 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);
}
天猫登录源码 POST C#的更多相关文章
- Yii2 使用 QQ 和 Weibo 第三方登录源码
我们社区在 yii2-authclient 多次升级后,登录异常.一直想寻求一种通用的方法,尽量不重写 OAuth2, BaseOAuth 以及 OAuthToken 类, 所以本次直接在 initU ...
- Saiku登录源码追踪.(十三)
Saiku登录源码追踪呀~ >>首先我们需要debug跟踪saiku登录执行的源码信息 saiku源码的debug方式上一篇博客已有说明,这里简单介绍一下 在saiku启动脚本中添加如下命 ...
- CAS Server集成QQ登录、新浪微博登录源码及配置文件
转载自素文宅博客:https://blog.yoodb.com/yoodb/article/detail/1446 CAS Server集成QQ第三方登录,CAS Server集成新浪微博第三方登录以 ...
- 类似818tu.co微信小说分销系统设计之多公众号网页授权自动登录源码
/** 转载请保留原地址以及版权声明,请勿恶意修改 * 作者:杨浩瑞 QQ:1420213383 独立博客:http://www.yxxrui.cn * [后台]http://xiaoshuo. ...
- CAS单点登录源码解析之【客户端】
cas 3.5.3服务器搭建+spring boot集成+shiro模拟登录(不修改现有shiro认证架构).因为我们属于供应商,所以有些客户那里会需要接对方的CAS,所以没有使用shiro和cas的 ...
- 类似818tu.c微信小说分销系统设计之多公众号网页授权自动登录源码分享
/** 转载请保留原地址以及版权声明,请勿恶意修改 * 作者:杨浩瑞 QQ:1420213383 独立博客:http://www.yxxrui.cn * [后台]http://xiaoshuo. ...
- shiro登录源码
//1.获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager Factory<org.apache.shiro.mgt.SecurityManage ...
- spring security 之自定义表单登录源码跟踪
上一节我们跟踪了security的默认登录页的源码,可以参考这里:https://www.cnblogs.com/process-h/p/15522267.html 这节我们来看看如何自定义单表认 ...
- 密码登录源码(jsp+java+数据库)
jsp界面: <%@ page language="java" contentType="text/html; charset=utf-8" pageEn ...
随机推荐
- nginx正则表达式
1.^:匹配字符串的开始位置: 2..*: .匹配任意字符,*匹配数量0到正无穷: 3.\. 斜杠用来转义,\.匹配.: 4.(jpg|gif|png|bmp)匹配jpg或gif或png或bmp 5. ...
- golang笔记——struct
1.定义一个结构体 type User struct { userid int username string password string } 2.初始化一个结构体 有两种情况,一是得到结构体的对 ...
- 初次使用并安装express
安装 Nodejs 去Nodejs官网根据自己的操作系统下载对应的安装包并安装.我们就有了NodeJS和npm环境.npm是Node的包管理工具,会在安装NodeJS时一并安装.可以用以下命令查看版本 ...
- [Data Structure & Algorithm] 八大排序算法
排序有内部排序和外部排序之分,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存.我们这里说的八大排序算法均为内部排序. 下图为排序 ...
- C和指针 第六章 数组名与指针
指针的算术运算符是指针和数组之间的一种关联,但不是唯一关联: 可以使用数组名作为指向数组第一个元素的指针,但是不可以给数组名赋新的值. //如下声明a int a[10]; //用a作为指向数组第一个 ...
- cookie中文乱码
在学习当中碰到cookie中文乱码问题,问题原因:cookie对中文不太支持,将中文放入cookie中会报错误. 解决办法: 1.编码 将中文进行编码再放入cookie中: String userna ...
- Windows中explorer(图形壳)
explorer是Windows程序管理器或者文件资源管理器. 用于管理Windows图形壳.(桌面和文件管理.) 删除该程序会导致Windows图形界面无法使用. explorer.exe进程是微软 ...
- 使用github pages, hexo搭建个人博客教程
具体的原理性的东西就不说了直接上教程,怕等下自己忘了. 一. github 阶段 申请一个github 账号并成功登录进去. 创建一个名字为xxx.github.io的空项目. 二. hexo 阶段 ...
- 字符串专题:map POJ 1002
第一次用到是在‘校内赛总结’扫地那道题里面,大同小异 map<string,int>str 可以专用做做字符串的匹配之类的处理 string donser; str [donser]++ ...
- phpcms
phpcms 织梦 帝国cms