|
本帖最后由 seaven 于 2013-5-8 19:48 编辑
首先感谢站长提供了登陆58同城的教程 http://www.sufeinet.com/thread-1835-1-1.html
我按照例子去做,发现58同城登陆新增了一个参数叫p3,然后我按照例子用c#执行p3的js加密代码得到了返回值。但是我提交的时候提示用户名错误。不知道是什么原因。另外的就是58同城的timesign也改变了原来的算法。恳请站长指导下,不甚感激。
以下是我登陆58同城的代码,关于加密就没有贴了,按照站长的方式加密的。
我通过抓包分析,然后采用抓包时获取的timesign加密p1、p2、p3与58同城加密是一致的。
获取timesign我是i这样的获取的。不知道这样写对了没。谢谢了。
[code=csharp] long timespan = StringUtil.GetUTCTime(DateTime.Now.AddMilliseconds(-50)) - StringUtil.GetUTCTime();
string timesign = (StringUtil.GetUTCTime() + timespan).ToString();[/code]
[code=csharp]HttpItem item = new HttpItem()
{
URL = "http://passport.58.com/dounionlogin",
Encoding = "utf-8",
Method = "POST",
Postdata = "isweak=0&path=http%3A%2F%2Fmy.58.com%2F%3Fpts%3D1368012259803&"+
"p1="+p1+
"&p2="+p2+"&p3="+p3+"×ign="+timesign+"&ptk=6ecaaf005f154b7187e3ecf47c7c8f2f&cd=4428&username=seaven001&password=password"
};
Console.WriteLine(item.Postdata);
HttpHelper http = new HttpHelper();
string html = http.GetHtml(item);[/code]
|
|