c# 抓取網頁驗證碼並post資料
阿新 • • 發佈:2019-01-02
如果想開發半自動的註冊機程式,那麼把驗證碼讀取到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();
如果有看不懂的歡迎留言諮詢,只寫了一部分必須的程式碼。