作者:tuenhai.com msn: king#tuenhai.com
版權聲明:可以任意轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息及本聲明
http://www.tuenhai.com/
題記:如果你經常泡各種論壇發表宏論,如果您想把您的軟件在極短時間內提交到有關網站,如果您想把您的網站快速登陸各搜索引擎,如果您想做個論壇自動發貼軟件,本篇文章可能對您有所幫助。
開發工具:microsoft visual studio .net 2003
操作系統:windows xp
不編程實現自動發帖
不編程也能實現論壇自動發貼?
答案肯定的。2003年10月前,tuenhai還未學習編程(vb6),但tuenhai已經實現論壇自動發帖器。雖然現在tuenhai已不用這種方法,但可能對有些朋友有用,還是在此介紹一下實現方法。
實現原理是:借用模擬鍵盤、鼠標操作的軟件,抓取輸入框座標,然后模擬移動鼠標到指定座標,模擬鍵盤輸入字符,模擬回車或點擊相應位置完成自動發貼。當然,你得編寫相應自動化腳本,雖有一點難度,但對于編程來說,應該是簡單的。
有三個模擬鍵盤、鼠標類軟件,功能比較好,在《vs.net學習方法論》http://www.tuenhai.com/已經有所介紹。
一. pcworker(http://www.pcworker.net)
pcworker功能極多,更重要的是,pcworker中的腳本代碼都是看得懂的代碼:
是不是不太難?
二. “按鍵精靈”(http://www.vrbrothers.com/cn/qmacro)
相對來說,按鍵精靈容易使用,但只有pcworker的少部分功能。比如pcworker可輸出隨機數,按鍵精靈就不行。
按鍵精靈的腳本代碼不太容易看懂,比如
keypress 82 1
您看得出按的是哪個鍵嗎?
三. ezscript(http://ezscript.seed.cx/)
ezscript的功能也很多。但tuenhai在windows xp下試用自動發貼時,沒有反應。
初學者建議使用按鍵精靈,進階則用pcworker。使用教程請參考作者網站。
用axwebbrowser控件做論壇自動發貼軟件
axwebbrowser控件即vb6中的webbrowser控件。
用axwebbrowser做論壇批量發貼軟件,使用時先添加對axwebbrowser控件和mshtml的引用。
先navigate到指定網址。然后用以下代碼等待網頁加載完畢:
然后調用發帖過程。
于是,主過程是這樣:
public sub autoadd() 以上代碼可實現可視化自動注冊和論壇自動發帖工具。
還有幾個問題有待解決:
一. 有的網站要填上識別碼數字才能注冊或發言,如何用程序來實現自動識別識別碼圖片上的數字?
二. 有的網站一進去就會跳出一個歡迎對話框,程序的運行就被暫停。
三. 對于自動注冊和發言來說,加載較慢的圖片、flash、音樂等并不是必需的。
用httpwebrequest類做論壇快速發帖器
用httpwebrequest類做論壇發貼機就簡單多了。
我們始終不能忘記,最好的教程是msdn,在microsoft visual studio .net 2003“搜索”中敲入httpwebrequest,抄來一些東東(事實上許多教程書籍都是從msdn上抄的):
命名空間: system.net
httpwebrequest 類對 webrequest 中定義的屬性和方法提供支持,也對使用戶能夠直接與使用 http 的服務器交互的附加屬性和方法提供支持。
不要使用 httpwebrequest 構造函數。使用 webrequest.create 方法初始化 httpwebrequest 的一個新實例。如果 uri 的方案是 http:// 或 https:// ,則 create 將返回 httpwebrequest 實例。
getresponse 方法向 requesturi 屬性中指定的 internet 資源發出同步請求并返回包含該響應的 httpwebresponse 實例。可以使用 begingetresponse 和 endgetresponse 方法對 internet 資源發出異步請求。
當要向 internet 資源發送數據時, getrequeststream 方法返回用于發送數據的 stream 實例。 begingetrequeststream 和 endgetrequeststream 方法提供對發送數據流的異步訪問。
如果在訪問 internet 資源時發生錯誤,則 httpwebrequest 類將引發 webexception 。 webexception.status 屬性是 webexceptionstatus 值之一,它指示錯誤源。當 webexception.status 為 webexceptionstatus.protocolerror 時, response 屬性包含從 internet 資源接收的 httpwebresponse 。
dim res as httpwebresponse = ctype(req.getresponse(), httpwebresponse) '以下獲取服務器返回信息
dim reader as streamreader = _
new streamreader(res.getresponsestream, system.text.encoding.getencoding("gb2312"))
dim resphtml as string = reader.readtoend()
msgbox(resphtml) '這就是向網絡服務器post后返回的信息
msgbox(res.statuscode.tostring) '向網絡服務器post后返回的狀態碼
res.close() '關閉
end sub
用axwebbrowser控件做論壇發貼機留有三個問題,用httpwebrequest類來實現,后二個問題都不復存在。而且,用httpwebrequest類來實現論壇發帖器的速度要快得多。但是,同樣的?
有的網站要填上識別碼數字才能注冊或發言,如何用“論壇自動發貼機”來實現自動識別識別碼圖片上的數字?
我們在主過程里加上線程,因為我們以后要用多線程做自動發帖機啊。用多線程做論壇自動發貼器在vb6中不好實現,在vb.net中做自動發帖工具卻不難。
visual studio .net 2003 是一個全面的開發工具,用于快速構建面向 microsoft windows? 和 web 并連接 microsoft .net 的應用程序,是否極大地提高了我們的開發效率呢?
新聞熱點
疑難解答
圖片精選