如果想開(kāi)發(fā)半自動(dòng)的注冊(cè)機(jī)程序,那么把驗(yàn)證碼讀取到winform里面,然后提交數(shù)據(jù)是必須的流程,這篇博文記錄一下如何抓取網(wǎng)頁(yè)上面的驗(yàn)證碼,注意不是驗(yàn)證碼識(shí)別。有的網(wǎng)站會(huì)驗(yàn)證Cookie,有的不會(huì),本文包含Cookie讀取提交。
首先生命一個(gè)全局的Cookie變量
- private CookieContainer cookie = new System.Net.CookieContainer();
程序加載的時(shí)候讀取驗(yàn)證碼和Cookie
- public Form1()
- {
- InitializeComponent();
-
- string checkcodeUrl = "驗(yàn)證碼的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);
-
- }
- }
提交數(shù)據(jù)
- 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();
如果有看不懂的歡迎留言咨詢,只寫了一部分必須的代碼。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。