騰訊向大眾提供了申請QQ的界面,方便很多潛在用戶加入QQ大軍中,注冊頁面是http://reg.qq.com ,為了限制用戶的過度使用,設置了驗證碼、IP限制等手段,一般用戶默認一天只能申請幾個QQ號碼,號碼是隨機生成的,當然好的號碼是不會有的,這些是騰訊的資源,需要付費才能獲取到。
本文主要介紹如何利用C#來實現QQ號碼的快速、批量申請操作,以及考慮如何加入寬帶撥號的方式實現IP的限制,盡可能的申請到更多的QQ號碼,以供他用。
先看看演示程序的界面效果:
=====》
上面是我使用C#實現QQ號碼申請的演示程序,是應用的雛形。其中為了方便,把用戶需要填寫的信息封裝起來,用戶開通QQ號碼後,再自行修改即可,只需要輸入驗證碼即可快速申請到QQ。
1、首先需要獲取驗證碼,然後供用戶輸入並提交申請,這裡我使用了後台線程進行處理,提高用戶界面的響應效果。
public partial class Form1 : Form
{
private CookieContainer cookieReg = new CookieContainer();
private BackgroundWorker worker = new BackgroundWorker();
private WebProxy proxy;
public Form1()
{
InitializeComponent();
worker.DoWork +=new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
//proxy = new WebProxy("120.203.214.184", 80);
}
private void GetVerifyImage()
{
worker.RunWorkerAsync("GetImage");
}
void worker_DoWork(object sender, DoWorkEventArgs e)
{
string newverifyUrl = "http://captcha.qq.com/getimage?aid=1007901&" +
new Random().NextDouble() + new Random().Next(10) + new Random().Next(10);
cookieReg = new CookieContainer();
HttpHelper httpHelper = new HttpHelper();
string regurl = "http://reg.qq.com";
httpHelper.GetHtml(regurl, cookieReg, regurl, proxy);
using (Stream s = httpHelper.GetStream(newverifyUrl, cookieReg, regurl, proxy))
{
if (s == null)
{
MessageUtil.Sh