1. 程式人生 > >c# 抓取網頁驗證碼並post資料

c# 抓取網頁驗證碼並post資料

如果想開發半自動的註冊機程式,那麼把驗證碼讀取到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();


如果有看不懂的歡迎留言諮詢,只寫了一部分必須的程式碼。