VB.NET修改代理服務(wù)器應(yīng)用技巧分享
今天我們?yōu)榇蠹規(guī)淼膽?yīng)用技巧,主要就是為了講解一些在郵箱自動(dòng)注冊(cè)方面所需要實(shí)現(xiàn)的一些需求。在這篇文章里就是關(guān)于VB.NET修改代理服務(wù)器的相關(guān)實(shí)現(xiàn)方法,大家可以通過介紹充分的掌握。
如果一個(gè)IP在一段時(shí)間過多的注冊(cè),則該IP會(huì)被封調(diào),一個(gè)辦法就是修改注冊(cè)表以實(shí)現(xiàn)VB.NET修改代理服務(wù)器。在這里我使用一個(gè)API函數(shù)internetsetoption,使用之前要添加一個(gè)模塊,然后加入如下代碼:
- Public Const internet_option_proxy = 38
- Public Const INTERNET_OPEN_TYPE_PROXY = 3
- Public Const INTERNET_OPTION_SETTINGS_CHANGED = 39
- Type INTERNET_PROXY_INFO
- dwAccessType As Long
- lpszProxy As String
- lpszProxyBypass As String
- End Type
- Public Declare Function internetsetoption Lib "wininet.dll" _
- Alias "InternetSetOptionA" _
- (ByVal hinternet As Long, _
- ByVal dwoption As Long, _
- ByRef lpbuffer As Any, _
- ByVal dwbufferlength As Long) As Long
改代碼定義了三個(gè)常數(shù)和一個(gè)結(jié)構(gòu),該API函數(shù)的具體用法請(qǐng)大家查詢MSDN。VB.NET修改注冊(cè)表的辦法就太多了,我就不多說了。在WebBrowser1_DocumentComplete事件中在添加一個(gè)條件語句,用以判斷是否是IP被封的提示頁面,代碼如下:
- If InStr(doc.body.innerText, "IP地址在這一段時(shí)間內(nèi)已經(jīng)注冊(cè)了太多的用戶") > 0 Then
- Dim options As INTERNET_PROXY_INFO
- options.dwAccessType = INTERNET_OPEN_TYPE_PROXY
- options.lpszProxy = "168.10.46.77:80"
- options.lpszProxyBypass = ""
- internetsetoption 0, internet_option_proxy, options, LenB(options)
- Dim don As Double
- Dim doff As Double
- Set reg = CreateObject("Wscript.Shell")
- a = reg.regwrite("HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Internet Settings\ProxyServer", _- "211.144.96.250:80")
- a = reg.regwrite("HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Internet Settings\ProxyEnable", _- 1)
- internetsetoption 0, INTERNET_OPTION_SETTINGS_CHANGED, 0, 0
- WebBrowser1.Navigate "http://freemail.eyou.com/signup.html?
bgp=%CE%D2%BD%D3%CA%DC&bgp_enable=on"- End If
至此VB.NET修改代理服務(wù)器的操作也完成了。
對(duì)于一些有驗(yàn)證碼的網(wǎng)站如何識(shí)別出圖片上的驗(yàn)證碼,我還沒有辦法解決,我試著用vc寫了一個(gè)圖片識(shí)別程序,但效果很不理想,希望大家多交流。
【編輯推薦】