首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请问个有关问题,关于WebClient post请求的有关问题

2013-03-01 
请教个问题,关于WebClient post请求的问题WebClient发送的时候出现个问题,如果正确的帐号放在第一个是能匹

请教个问题,关于WebClient post请求的问题
WebClient发送的时候出现个问题,如果正确的帐号放在第一个是能匹配正确的,但是放入到第二个就会匹配错误,找了半天不太清楚是什么问题。帮忙看看。


private void button1_Click(object sender, EventArgs e)
        {
            string url = "http://xc.netease.com/logging.php?action=login";

            string path = Environment.CurrentDirectory + @"\list.txt";
            string[] list = System.IO.File.ReadAllText(path).Split('\r');
            Application.DoEvents(); 
            for (int i = 0; i < list.Length; i++)
            {
                string[] arr = list[i].Split('-');
                this.richTextBox1.Text += String.Format("{0}-{1} {2}", arr[0].Trim(), arr[1].Trim(), loginpage(url, arr[0], arr[1])) + Environment.NewLine;
                this.Refresh(1);
            }
            this.richTextBox1.Text += "完成" + Environment.NewLine;
        }


public string loginpage(string url, string uid, string password)
        {
            try
            {
                WebClient wc = new WebClient();
                wc.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0");
                string downhtml = System.Text.Encoding.GetEncoding("gb2312").GetString(wc.DownloadData(url));

                string formhash = System.Text.RegularExpressions.Regex.Replace(downhtml, "[\\s*\\S*]*<input type="hidden" name="formhash" value="([^"]*)"[\\s*\\S*]*", "$1", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                string poststring = String.Format("formhash={0}&referer=index.php&loginfield=uid&username={1}&password={2}&questionid=0&answer=&cookietime=2592000&loginmode=&styleid=&loginsubmit=%CC%E1%BD%BB", formhash, uid, password);

                wc = new WebClient();
                wc.Headers.Add("Accept-Language", "zh-cn");
                wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");



                byte[] responseData = wc.UploadData(url, "POST", System.Text.Encoding.Default.GetBytes(poststring));
                wc.Dispose();

                string returnhtml = System.Text.Encoding.GetEncoding("gb2312").GetString(responseData);
                int s_p = returnhtml.IndexOf("<p>");
                int l_p = returnhtml.IndexOf("</p>");

                return returnhtml.Substring(s_p + 3, l_p - s_p - 3);
            }
            catch
            {
                return String.Empty;
            }
        }
public void Refresh(int s)
        {
            for (int i = 0; i < s*10; i++)
            {
                Application.DoEvents();
                Thread.Sleep(100);
            }
        }



list.txt 文件,下面的70282是正确的

221-3
70282-1

[解决办法]
看看是否有多余的字符
最好.Trim()一下

热点排行