在WinForm里获得一个网页的源代码在有的情况下非常有用,特别是在做外挂的时候。这里用pop为例,讲一下获取的方法,然后顺便通过正则表达式获得用户登陆的验证码。
小程序的演示效果如下:
![popValidateCode.jpg](https://image.shishitao.com:8440/L2ltYWdlcy9jbmJsb2dzX2NvbS9zb25nYWZlbmcvcG9wVmFsaWRhdGVDb2RlLmpwZw%3D%3D.jpg?w=700)
这段是获取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="";
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
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);
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
_htmlCode=sr.ReadToEnd();
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
resStream.Close();
sr.Close();
this.txtCode.Text=_htmlCode;
}
catch(System.Net.WebException ex)
{
this.txtCode.Text=ex.Message;
}
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
getValidateCode(_htmlCode);
}
通过正则表达式获得其中用户登陆的验证码:
private void getValidateCode(string htmlCode)
{
string pattern=@"[>]\d{4}[<]";
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
System.Text.RegularExpressions.Regex regex=new System.Text.RegularExpressions.Regex(pattern);
System.Text.RegularExpressions.Match match=regex.Match(htmlCode);
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
if(match.Success)
{
this.txtValidateCode.Text=match.Value.Substring(1,4);
}
else
{
this.txtValidateCode.Text="null";
}
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
}
小程序的演示效果如下:
![popValidateCode.jpg](https://image.shishitao.com:8440/L2ltYWdlcy9jbmJsb2dzX2NvbS9zb25nYWZlbmcvcG9wVmFsaWRhdGVDb2RlLmpwZw%3D%3D.jpg?w=700)
这段是获取HTML源代码的方法:
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL05vbmUuZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkQmxvY2tTdGFydC5naWY%3D.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkU3ViQmxvY2tTdGFydC5naWY%3D.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkU3ViQmxvY2tFbmQuZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkU3ViQmxvY2tTdGFydC5naWY%3D.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkU3ViQmxvY2tFbmQuZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkQmxvY2tFbmQuZ2lm.gif?w=700)
通过正则表达式获得其中用户登陆的验证码:
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL05vbmUuZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkQmxvY2tTdGFydC5naWY%3D.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkU3ViQmxvY2tTdGFydC5naWY%3D.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkU3ViQmxvY2tFbmQuZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkU3ViQmxvY2tTdGFydC5naWY%3D.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkU3ViQmxvY2tFbmQuZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0luQmxvY2suZ2lm.gif?w=700)
![](https://image.shishitao.com:8440/L0ltYWdlcy9PdXRsaW5pbmdJbmRpY2F0b3JzL0V4cGFuZGVkQmxvY2tFbmQuZ2lm.gif?w=700)