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

C#怎么抓取需要登录的网页信息

2013-01-11 
C#如何抓取需要登录的网页信息例如,我要登录时光网的一个游戏。入口是:http://my.mtime.com/app/card/。在没

C#如何抓取需要登录的网页信息
例如,我要登录时光网的一个游戏。入口是:http://my.mtime.com/app/card/。
在没有登录时光网的账户下它将自动跳转到其注册登录界面。

我用程序webBrowser实现了网站的自动登录。并且进入其游戏界面,但我要抓取其
界面信息时发现抓取的还是注册登录界面的信息。

webBrowser.Ur1=.....注册登录界面的地址
自动输入:账号,密码后主动登录游戏界面.
我要的就是抓取这个游戏界面的网页信息

代码如下:
        private void btn_record_Click(object sender, EventArgs e)//抓取网页信息按键事件
        {
            //要抓取的URL地址 
            //string Ur = "http://my.mtime.com/app/card/";
            string Ur = webBrowser.Ur1.ToString();
           
            //得到指定Url的源码的方法
            string strWebContent= GetWebContent(Ur);

            ***********************************
        }
        //根据Url地址得到网页的html源码 
        private string GetWebContent(string Url)
        {
            string strResult = "";
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
                //声明一个HttpWebRequest请求 
                request.Timeout = 30000;
                //设置连接超时时间 
                request.Headers.Set("Pragma", "no-cache");
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream streamReceive = response.GetResponseStream();
                Encoding encoding = Encoding.GetEncoding("UTF-8");
                StreamReader streamReader = new StreamReader(streamReceive, encoding);
                strResult = streamReader.ReadToEnd();
            }
            catch
            {
                MessageBox.Show("出错");
            }
            return strResult;
        } 


上面字符串strWebContent信息是登录界面的信息而不是我需要的游戏界面的信息。



不知道问题出在哪里?
做模拟提交,先把模拟提交的例子做出来,剩下的就简单了
[解决办法]
先抓包,然后分析提交的数据,再模拟~~
[解决办法]
抓包工具推荐fiddler,或是用ff的firebug也行
[解决办法]
捉包 然后POST吧

热点排行