2 a01163125 a01163125 于 2014.04.10 20:08 提问

抓包的时候字典里面没有值。

为什么这个会有错误呢? 谁有类似的demo吗?

private void btnLogin_Click(object sender, EventArgs e)
{
string username = txtUserName.Text;
string password = txtPwd.Text;

        HttpItem itemSign = new HttpItem()
        {
            URL = "https://account.xiaomi.com/pass/serviceLogin",
        };
        HttpHelper helperSign = new HttpHelper();
        HttpResult resultSign = helperSign.GetHtml(itemSign);
        string signHtml = resultSign.Html;
        txtInfo.Text = signHtml;
        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        doc.LoadHtml(signHtml);
        var htmlnodes = doc.DocumentNode.Descendants();
        Dictionary<string, string> dict = new Dictionary<string, string>();
        foreach (var item in htmlnodes)
        {
            if (item.Attributes["name"] != null && item.Attributes["value"] != null)
            {
                dict.Add(item.Attributes["name"].Value, item.Attributes["value"].Value);
            }
        }
        string passToken = HttpUtility.UrlEncode(dict["passToken"]);
        string callback = HttpUtility.UrlEncode(dict["callback"]);
        string sid = HttpUtility.UrlEncode(dict["sid"]);
        string qs = HttpUtility.UrlEncode(dict["qs"]);
        string hidden = HttpUtility.UrlEncode(dict["hidden"]);
        string _sign = HttpUtility.UrlEncode(dict["_sign"]);
        string auto = HttpUtility.UrlEncode(dict["auto"]);

        cookies = resultSign.Cookie;

        HttpItem itemLogin = new HttpItem()         //登陆Post
        {
            URL = "https://account.xiaomi.com/pass/serviceLoginAuth2",
            Method = "POST",
            Cookie = cookies,
            Referer = "https://account.xiaomi.com/pass/serviceLogin",
            ContentType = "application/x-www-form-urlencoded",
            Postdata = string.Format("passToken={0}&user={1}&pwd={2}&callback={3}&sid={4}&qs={5}&hidden={6}&_sign={7}&auto={8}", passToken, username, password, callback, sid, qs, hidden, _sign, auto)
        };
        HttpHelper helperLogin = new HttpHelper();
        HttpResult resultLogin = helperLogin.GetHtml(itemLogin);

        if (resultLogin.Html.Contains("小米帐户 - 登录"))
        {
            AppendText(username + "登陆失败\n"); return;
        }
        AppendText(username + "登陆成功");
        cookies += ";" + resultLogin.Cookie;
        // AppendText(cookies);

    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
游戏策划方法商业篇 这个系列,实际上最开始的想法,是于我在某公司担任策划总监——也许更确切的说法是DesignerManager的时候,公司新招入了不少的新手策划,为了给这些策划们培训所编写的教程。不过因为某些原因,实际上整个系列的90%以上的工作都是在我离开了那个公司之后才完成的。而最初的两章,也跟大家现在所看到的内容毫无关联。那两章的内容是讲游戏团队的组织和管理形式,总共约一万六千字,当然这些部分在现在这个版本里面都看不到了。在随后的工作中,我完成了后面的章节,也就是现在大家所看到的内容,而
Unity读取txt文件并且用字典来使用txt里面的信息
poj 2001 Shortest Prefixes 【字典树】【找每一个字符串在字符串集里面的 最短且可唯一标识 的前缀】
poj 3630 Phone List 【字典树】【判断一个字符串集里面 是否存在一个字符串是另一个字符串前缀】
lintcode&九章算法——Google 面试题 | 字典里面的最长单词 ? 待解决
iOS中数组字典里面在放数组字典
hdoj 1247 Hat’s Words 【字典树】【输出字符串集里面 可以由任意两个字符串所构成的字符串】
IT企业面试题(java描述)-字符串包含(2)-查找字典里面的兄弟字符串
jquery里面的$(this)和this都什么时候用,有什么区别
Jay Kreps: 为什么write有时候在Linux里面耗时很久