C# winfrom下 实现淘宝自动登录的功能 如题。。帐号跟密码都知道。预期效果:有一个按钮 。点击按钮,直接将指定的淘宝ID和密码输入,并登录上去。密码文本框都能捕捉到(我觉得我捉到了)。。就是不知道怎么实现登录。最后就是没有实现效果。哪个做过 请指点一二啊。有代码最好! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么个用法啊?用那个api啊 ?请给点思路啊~~ taobao API是实现不了自动登录的当你可以利用API实现你其他想要的功能http://my.open.taobao.com/apidoc/index.htm#categoryId:1 这个API不行的。我就是在公司里做淘宝API的。这个好像不太符合啊、我想要的就是我在数据库或者配置文件里记录一个用户名和密码然后用户点击按钮的时候登录到淘宝去。因为公司的人员众多。密码是不能每个人都知道的。 呵呵 明白你的意思了你做的软件 就是直接用taobao 用户名密码登录的? 我做的是taobao和paipai平台的整合应用 给个简单的思路吧~~写个你自己的程序(c/s bs 随便你)写自己的用户登录验证(用户是程序自己添加的 与淘宝没有任何关系)用api实现你想要的功能,添加商品 上传商品 修改物流 发货 打印 等等 POST提交完全可以是实现的,只不过是否有验证码?和JS脚本加密 private bool PostWebRequest() { CookieContainer cc = new CookieContainer(); string pos tData = "user=" + strUser + "&pass=" + strPsd; byte[] byteArray = Encoding.UTF8.GetBytes(postData); // 转化 HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create(new Uri("http://www.xxxx.com/chk.asp")); webRequest2.CookieContainer = cc; webRequest2.Method = "POST"; webRequest2.ContentType = "application/x-www-form-urlencoded"; webRequest2.ContentLength = byteArray.Length; Stream newStream = webRequest2.GetRequestStream(); // Send the data. newStream.Write(byteArray, 0, byteArray.Length); //写入参数 newStream.Close(); HttpWebResponse response2 = (HttpWebResponse)webRequest2.GetResponse(); StreamReader sr2=new StreamReader(response2.GetResponseStream(), Encoding.Default); string text2 = sr2.ReadToEnd(); ...... } 游戏外挂 登录是第一步,我想自动挂的是 淘宝上的 游戏,所以首先 自动登录淘宝。淘宝网是加密的,安全控件登录。用底层的收发包技术做,解密有难度。 我的思路是用c#做个软件完全模拟鼠标键盘操作,你平时怎么操作,程序就怎么模拟。OK,按照这个思路做下去。首先是用c#中的WebBrowser控件打开登录网页,很简单,拖拽WebBrowser到Form上,然后给它的Url属性赋值。WebBrowser就会自动navigate to 这个网页。WebBrowser1.Url= new Uri("淘宝网登录地址")HtmlElement usrname=WebBrowser1.Document.GetElementById("ID值"), 这条语句可获得用户名输入框元素。ID值可以通过查看HTML源文件得到。还有很多方法可以找到该元素,看msdn就可以了。usrname.Focus(); 将输入焦点定位到用户名输入框上。下面就是用System.Windows.Forms.SendKeys.Send()方法模拟键盘操作输入用户密码并回车:System.Windows.Forms.SendKeys.Send("UserName");System.Windows.Forms.SendKeys.Send("{tab}"); //输入tab键,输入焦点定位到了密码输入框 System.Windows.Forms.SendKeys.Send("password"); //模拟键盘输入密码 System.Windows.Forms.SendKeys.Send("{enter}"); 有个难点就是,Webbrowser导航到一个URL的时候,需要时间,如果网页复杂,时间会比较长。如果将Url属性赋值之后,立刻就去查找用户名输入框元素的话,会找不到。所以我们的代码要在加载完成后执行。微软的帮助上说DocumentCompleted事件发生在文件加载完成时,我想把代码放到这个事件里。实际上并非完全如帮助描述,在加载一个Url到完成的时候,DocumentCompleted事件也会发生很多次。一般最后一次才是真正加载完成。解决办法一是结合ReadyState判断,当ReadyState也是completed的时候作为加载完成标志。另外一种是启用Flag,代码中依据判断flag值执行不同的功能。每打开一个新的URL之后,每次DocumentCompleted事件都查找,直到找到了我们想要的元素,执行键盘输入模拟代码,然后修改flag标志。这种方法当打开的Url多的时候容易弄乱,建议画个状态图。例子:Int flag=0 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){ if (flag==0) { HtmlElement usrname=WebBrowser1.Document.GetElementById("ID值"), if (usrname!=null) { usrname.Focus(); 将输入焦点定位到用户名输入框上。 System.Windows.Forms.SendKeys.Send("UserName"); System.Windows.Forms.SendKeys.Send("{tab}"); //输入tab键,输入焦点定位到了密码输入框 System.Windows.Forms.SendKeys.Send("password"); //模拟键盘输入密码 System.Windows.Forms.SendKeys.Send("{enter}"); flag=1; } }} LZ可以做一个类似csdn 的一样 2周内自动登录用cookie实现设置时间为2周自动登录 首先感谢你给写了这么多,我已经全部看完了。你所说的方法跟我想象的方法是一样的。我现在也在这么做,也是sendkeys的方法做的,是可以实现,前提是密码不要太复杂了可以的。但是,后来我发现了一个问题就是我们的淘宝密码有的时候很复杂,比如说有下划线 或者有波浪线等。这样的话问题就出现了 说密码正确,我猜那就是sendkeys 的时候没有输入好。所以,你觉得有没有什么办法能解决了这个?谢谢了啊。请指教一下。比如说密码是“3.1415926_abc~” 就不行了。要是密码是“123.123.45asd”这样还是可以的。就是带特殊的(必须shift结合的)键时就有问题了。 用 分析工具 http watch 分析 淘宝的包,这个很复杂,哪里差一点,例如Cookie问题,一个域的问题,都会登录失败;发送的http的包:第一步:请求包:GET /member/login.jhtml HTTP/1.1Host: login.taobao.comAccept: */*Accept-Language: zh-CNUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727)Connection: Keep-Alive返回包: HTTP/1.1 200 OKDate: Mon, 26 Sep 2011 15:38:58 GMTServer: ApacheX-Category: Set-Cookie: cookie2=50208cca90ae56831653392a58cfcbe9;Domain=.taobao.com;Path=/;HttpOnlySet-Cookie: _tb_token_=e330135b38b64;Domain=.taobao.com;Path=/;HttpOnlySet-Cookie: t=25e6eede8bf3d576c9415a00f6258dfe; Domain=.taobao.com; Expires=Sun, 25-Dec-2011 15:38:59 GMT; Path=/Set-Cookie: uc1=cookie14=UoLdGH1uCIVpNw%3D%3D; Domain=.taobao.com; Path=/Set-Cookie: v=0; Domain=.taobao.com; Path=/Content-Language: zh-CNVary: Accept-EncodingCache-Control: no-cacheExpires: Thu, 01 Jan 1970 00:00:00 GMTPragma: no-cacheKeep-Alive: timeout=3, max=100Connection: Keep-AliveTransfer-Encoding: chunkedContent-Type: text/html;charset=GBK<!DOCTYPE html><html><head><title>淘宝网 - 淘我喜欢! </title><meta charset="gbk" />...............................第二步:请求包POST /member/login.jhtml HTTP/1.1Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*Referer: https://login.taobao.com/member/login.jhtmlAccept-Language: zh-CNUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.1; .NET4.0C; .NET4.0E)Content-Type: application/x-www-form-urlencodedAccept-Encoding: gzip, deflateHost: login.taobao.comContent-Length: 586Connection: Keep-AliveCache-Control: no-cacheCookie: mpp=t%3D 此处滤去256个字 42f171c3301210462074e7TPL_username=用户名&TPL_password=加密后的密码&TPL_checkcode=&need_check_code=&_tb_token_=07361ee813eb&action=Authenticator&event_submit_do_login=anything&TPL_redirect_url=&from=tb&fc=2&style=default&css_style=&tid=XOR_1_000000000000000000000000000000_635844204C0F0D047A04707B&support=000001&CtrlVersion=1%2C0%2C0%2C7&loginType=4&minititle=&minipara=&umto=T64eab552bdd4fd8188aec88e74a0f0b2%2C&pstrong=&llnick=&sign=&need_sign=&isIgnore=&full_redirect=&popid=&callback=&guf=¬_duplite_str=&need_user_id=&poy=&gvfdcname=10&gvfdcre=&from_encoding=返回包(为了本人帐号安全Cokkie做了部分删除,使用时):HTTP/1.1 200 OKDate: Mon, 26 Sep 2011 15:38:59 GMTServer: ApacheX-Category: P3P: CP='CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR'Set-Cookie: uc1=9a08KUQ56dA%3ain=.taobao.com; Path=/Set-Cookie: ck1=Set-Cookie: _sv_Set-Cookie: tg=0Set-Cookie: _cc_th=/Set-Cookie: t=25:59 GMT; Path=/Set-Cookie: unb=Set-Cookie: _nk_Set-Cookie: _l_gSet-Cookie: cookSet-Cookie: _wwmSet-Cookie: tracSet-Cookie: ssllSet-Cookie: lastSet-Cookie: cookttpOnlySet-Cookie: cookContent-LanguageVary: Accept-EncCache-Control: no-cacheExpires: Thu, 01 Jan 1970 00:00:00 GMTPragma: no-cacheKeep-Alive: timeout=3, max=99Connection: Keep-AliveTransfer-Encoding: chunkedContent-Type: text/html;charset=GBK<!DOCTYPE html><html><head><title>淘宝网 - 淘我喜欢! </title>第三步:GET /my_taobao.htm?nekot=bX********此处滤去256个字*****469 HTTP/1.1Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*Accept-Language: zh-CNUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.1; .NET4.0C; .NET4.0E)Accept-Encoding: gzip, deflateHost: i.taobao.comConnection: Keep-AliveCookie: mpp=t%3D1%26m%3 *******此处滤去256个字****** tore=242856返回包:HTTP/1.1 200 OKDate: Mon, 26 Sep 2011 15:46:43 GMT..................................Content-Length: 11771Keep-Alive: timeout=15, max=100Connection: Keep-AliveContent-Type: text/html;charset=GBK c# repeater checkbox点击 子repeater checkbox全选 多线程管理问题 C#中如何接收VC传递过来的COPYDATASTRUCT结构体中的参数 C#里,点击按钮后,如何生成一个主窗口? WPF打印问题 在DataGrid添加CheckBox,选择全选删除总是不成功! 紧急!如何实现socket在广域网环境下的数据通信? 求助 菜鸟级问题:字符截取问题 如何把外部数据粘贴到datagridview 中? WebBrowser动态替换js文件问题 如何判断两个类相同呢
taobao API是实现不了自动登录的
当你可以利用API实现你其他想要的功能
http://my.open.taobao.com/apidoc/index.htm#categoryId:1
这个API不行的。我就是在公司里做淘宝API的。这个好像不太符合啊、
我想要的就是我在数据库或者配置文件里记录一个用户名和密码
然后用户点击按钮的时候登录到淘宝去。因为公司的人员众多。密码是不能每个人都知道的。
你做的软件 就是直接用taobao 用户名密码登录的?
写自己的用户登录验证(用户是程序自己添加的 与淘宝没有任何关系)用api实现你想要的功能,添加商品 上传商品 修改物流 发货 打印 等等
{
CookieContainer cc = new CookieContainer();
string pos tData = "user=" + strUser + "&pass=" + strPsd;
byte[] byteArray = Encoding.UTF8.GetBytes(postData); // 转化 HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create(new Uri("http://www.xxxx.com/chk.asp"));
webRequest2.CookieContainer = cc;
webRequest2.Method = "POST";
webRequest2.ContentType = "application/x-www-form-urlencoded";
webRequest2.ContentLength = byteArray.Length;
Stream newStream = webRequest2.GetRequestStream();
// Send the data.
newStream.Write(byteArray, 0, byteArray.Length); //写入参数
newStream.Close(); HttpWebResponse response2 = (HttpWebResponse)webRequest2.GetResponse();
StreamReader sr2=new StreamReader(response2.GetResponseStream(), Encoding.Default);
string text2 = sr2.ReadToEnd();
......
}
System.Windows.Forms.SendKeys.Send("{tab}"); //输入tab键,输入焦点定位到了密码输入框
System.Windows.Forms.SendKeys.Send("password"); //模拟键盘输入密码
System.Windows.Forms.SendKeys.Send("{enter}"); 有个难点就是,Webbrowser导航到一个URL的时候,需要时间,如果网页复杂,时间会比较长。如果将Url属性赋值之后,立刻就去查找用户名输入框元素的话,会找不到。所以我们的代码要在加载完成后执行。微软的帮助上说DocumentCompleted事件发生在文件加载完成时,我想把代码放到这个事件里。实际上并非完全如帮助描述,在加载一个Url到完成的时候,DocumentCompleted事件也会发生很多次。一般最后一次才是真正加载完成。解决办法一是结合ReadyState判断,当ReadyState也是completed的时候作为加载完成标志。另外一种是启用Flag,代码中依据判断flag值执行不同的功能。每打开一个新的URL之后,每次DocumentCompleted事件都查找,直到找到了我们想要的元素,执行键盘输入模拟代码,然后修改flag标志。这种方法当打开的Url多的时候容易弄乱,建议画个状态图。例子:Int flag=0 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){ if (flag==0) { HtmlElement usrname=WebBrowser1.Document.GetElementById("ID值"), if (usrname!=null) { usrname.Focus(); 将输入焦点定位到用户名输入框上。 System.Windows.Forms.SendKeys.Send("UserName");
System.Windows.Forms.SendKeys.Send("{tab}"); //输入tab键,输入焦点定位到了密码输入框
System.Windows.Forms.SendKeys.Send("password"); //模拟键盘输入密码
System.Windows.Forms.SendKeys.Send("{enter}"); flag=1; } }}
设置时间为2周自动登录
首先感谢你给写了这么多,我已经全部看完了。你所说的方法跟我想象的方法是一样的。我现在也在这么做,也是sendkeys的方法做的,是可以实现,前提是密码不要太复杂了可以的。但是,后来我发现了一个问题就是我们的淘宝密码有的时候很复杂,比如说有下划线 或者有波浪线等。这样的话问题就出现了 说密码正确,我猜那就是sendkeys 的时候没有输入好。所以,你觉得有没有什么办法能解决了这个?谢谢了啊。请指教一下。比如说密码是“3.1415926_abc~” 就不行了。要是密码是“123.123.45asd”这样还是可以的。就是带特殊的(必须shift结合的)键时就有问题了。
用 分析工具 http watch 分析 淘宝的包,这个很复杂,哪里差一点,例如Cookie问题,一个域的问题,都会登录失败;发送的http的包:第一步:
请求包:
GET /member/login.jhtml HTTP/1.1
Host: login.taobao.com
Accept: */*
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC
2; .NET CLR 2.0.50727)
Connection: Keep-Alive返回包:
HTTP/1.1 200 OK
Date: Mon, 26 Sep 2011 15:38:58 GMT
Server: Apache
X-Category:
Set-Cookie: cookie2=50208cca90ae56831653392a58cfcbe9;Domain=.taobao.com;Path=/;HttpOnly
Set-Cookie: _tb_token_=e330135b38b64;Domain=.taobao.com;Path=/;HttpOnly
Set-Cookie: t=25e6eede8bf3d576c9415a00f6258dfe; Domain=.taobao.com; Expires=Sun, 25-Dec-2011 15:38:59 GMT; Path=/
Set-Cookie: uc1=cookie14=UoLdGH1uCIVpNw%3D%3D; Domain=.taobao.com; Path=/
Set-Cookie: v=0; Domain=.taobao.com; Path=/
Content-Language: zh-CN
Vary: Accept-Encoding
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: no-cache
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html;charset=GBK
<!DOCTYPE html>
<html>
<head>
<title>淘宝网 - 淘我喜欢! </title>
<meta charset="gbk" />
...............................第二步:请求包
POST /member/login.jhtml HTTP/1.1
Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*
Referer: https://login.taobao.com/member/login.jhtml
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.1; .NET4.0C; .NET4.0E)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: login.taobao.com
Content-Length: 586
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: mpp=t%3D 此处滤去256个字 42f171c3301210462074e7TPL_username=用户名&TPL_password=加密后的密码&TPL_checkcode=&need_check_code=&_tb_token_=07361ee813eb&action=Authenticator&event_submit_do_login=anything&TPL_redirect_url=&from=tb&fc=2&style=default&css_style=&tid=XOR_1_000000000000000000000000000000_635844204C0F0D047A04707B&support=000001&CtrlVersion=1%2C0%2C0%2C7&loginType=4&minititle=&minipara=&umto=T64eab552bdd4fd8188aec88e74a0f0b2%2C&pstrong=&llnick=&sign=&need_sign=&isIgnore=&full_redirect=&popid=&callback=&guf=¬_duplite_str=&need_user_id=&poy=&gvfdcname=10&gvfdcre=&from_encoding=返回包(为了本人帐号安全Cokkie做了部分删除,使用时):
HTTP/1.1 200 OK
Date: Mon, 26 Sep 2011 15:38:59 GMT
Server: Apache
X-Category:
P3P: CP='CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR'
Set-Cookie: uc1=9a08KUQ56dA%3ain=.taobao.com; Path=/
Set-Cookie: ck1=
Set-Cookie: _sv_
Set-Cookie: tg=0
Set-Cookie: _cc_th=/
Set-Cookie: t=25:59 GMT; Path=/
Set-Cookie: unb=
Set-Cookie: _nk_
Set-Cookie: _l_g
Set-Cookie: cook
Set-Cookie: _wwm
Set-Cookie: trac
Set-Cookie: ssll
Set-Cookie: last
Set-Cookie: cookttpOnly
Set-Cookie: cook
Content-Language
Vary: Accept-Enc
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: no-cache
Keep-Alive: timeout=3, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html;charset=GBK
<!DOCTYPE html>
<html>
<head>
<title>淘宝网 - 淘我喜欢! </title>
第三步:
GET /my_taobao.htm?nekot=bX********此处滤去256个字*****469 HTTP/1.1
Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.1; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: i.taobao.com
Connection: Keep-Alive
Cookie: mpp=t%3D1%26m%3 *******此处滤去256个字****** tore=242856返回包:
HTTP/1.1 200 OK
Date: Mon, 26 Sep 2011 15:46:43 GMT
..................................
Content-Length: 11771
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=GBK