网页源代码的获取方法

时间:2024-03-08 22:37:53
在WinForm里获得一个网页的源代码在有的情况下非常有用,特别是在做外挂的时候。这里用pop为例,讲一下获取的方法,然后顺便通过正则表达式获得用户登陆的验证码。
小程序的演示效果如下:
popValidateCode.jpg
这段是获取HTML源代码的方法:
        private void btnShowCode_Click(object sender, System.EventArgs e)
        
{
            System.Net.WebRequest myWebRequest
=System.Net.WebRequest.Create(this.txtURL.Text);
            myWebRequest.Timeout
=5000;
            
string _htmlCode="";

            
try
            
{
                System.Net.WebResponse myWebR
=myWebRequest.GetResponse();
                System.IO.Stream resStream
=myWebR.GetResponseStream();
                System.IO.StreamReader sr
=new System.IO.StreamReader(resStream,System.Text.Encoding.Default);

                _htmlCode
=sr.ReadToEnd();

                resStream.Close();
                sr.Close();
                
this.txtCode.Text=_htmlCode;
            }

            
catch(System.Net.WebException ex)
            
{
                
this.txtCode.Text=ex.Message;
            }


            getValidateCode(_htmlCode);
        }

通过正则表达式获得其中用户登陆的验证码:
        private void getValidateCode(string htmlCode)
        
{
            
string pattern=@"[>]\d{4}[<]";

            System.Text.RegularExpressions.Regex regex
=new System.Text.RegularExpressions.Regex(pattern);
            System.Text.RegularExpressions.Match match
=regex.Match(htmlCode);

            
if(match.Success)
            
{
                
this.txtValidateCode.Text=match.Value.Substring(1,4);
            }

            
else
            
{
                
this.txtValidateCode.Text="null";
            }


        }