如果想开发半自动的注册机程序,那么把验证码读取到winform里面,然后提交数据是必须的流程,这篇博文记录一下如何抓取网页上面的验证码,注意不是验证码识别。有的网站会验证Cookie,有的不会,本文包含Cookie读取提交。
首先生命一个全局的Cookie变量
private CookieContainer cookie = new System.Net.CookieContainer();
程序加载的时候读取验证码和Cookie
public Form1()
{
InitializeComponent();
string checkcodeUrl = "验证码的url";
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(checkcodeUrl);
request.CookieContainer = new CookieContainer();
Stream responseStream = ((HttpWebResponse)request.GetResponse()).GetResponseStream();
cookie = request.CookieContainer;
string cookiesstr = request.CookieContainer.GetCookieHeader(request.RequestUri);
Image original = Image.FromStream(responseStream);
Bitmap bitMap = new Bitmap(original);
this.pictureBox1.Image = bitMap;
responseStream.Close();
}
catch (Exception exception)
{
MessageBox.Show("ERROR:" + exception.Message);
}
}
提交数据
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
webrequest.CookieContainer = cookie;
HttpWebResponse response = (HttpWebResponse)webrequest.GetResponse();
StreamReader read = new StreamReader(response.GetResponseStream(), Encoding.Default);
string text = read.ReadToEnd();
如果有看不懂的欢迎留言咨询,只写了一部分必须的代码。