本帖最后由 qq_25936115 于 2015-02-11 20:52:26 编辑

解决方案 »

  1.   

    这个是通过WebRequest获取就可以了啊……先请求验证码,然后怎么提交抓下网站包,谁规定要把数据填充到网页里去的,要么你就WebBrower加载
      

  2.   

    http://blog.csdn.net/chinacsharper/article/details/9772739
      

  3.   

    首先你要获取IE中的网页对象(Document),然后找到你要填充的文本框,如果有ID最好,那么用
    HTMLElement e=doc.GetElementByID("ID");
    e.SetAttribute("value","你要填的字符");
    其它文本框方法一样,至于你说的验证码,因为不知道你要怎么实现,那么只告诉你一个方法,把获取的验证码图片显示在你的程序界面中,这个可以在网上找
    至于“换一换”验证码就是获取验证码图片然后InvokeMember("click")就行了,然后把新的验证码显示在picturebox中
    因为不知道你具体实现的方法不好给你代码
      

  4.   


    /*
    技术学习光荣,盗号可耻
    当自己密码忘记的时候使用这种方法还可以,盗号不现实,打消这个念头。
    一个简单代码,需要有HTML基础
    *///增加一个WebBrowser控件
    private void frmMain_Load(object sender, EventArgs e)
    {
          //载入页面
           webBrowser1.Navigate("http://zc.qq.com/chs/index.html");
    }
    //页面加载完成事件
    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
          HtmlDocument dc = webBrowser1.Document;
          //获取所有表单
          HtmlElementCollection es = dc.GetElementsByTagName("input");
          //获取用户名表单
          HtmlElement uid = dc.GetElementById("UserName");
          //设置用户名表单的内容
          uid.SetAttribute("value", txtUserName.Text);     //找到提交按钮
         foreach (HtmlElement e1 in es)
                    {
                        if (e1.GetAttribute("type").ToLower() == "submit")
                        {
                            //执行提交事件
                            e1.InvokeMember("Click");
                            break;
                        }
                    }}
      

  5.   

    可是我按你这样写的代码,写在webBrowser控件里了,点击运行的时候,窗口是一片空白,什么反应也没有,代码也没有出错,是怎么回事?
      

  6.   

     这个不难,就是一个模拟登录。  
     抓包分析,分析提交地址和提交参数的形式,自己构造一下提交参数,发送一个http请求就行。
     主要难点在于分析cookie.