国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于網(wǎng)頁元素的論壇帖子群發(fā)技術(shù)

2016-11-23 10:52徐文濤
東方教育 2016年17期

徐文濤

摘要:隨著因特網(wǎng)的發(fā)展,出現(xiàn)了諸如手機短信、Email、即時通訊、論壇等基于互聯(lián)網(wǎng)的交流工具,用戶廣泛。利用這些工具的信息群發(fā)系統(tǒng)可以向大量受眾發(fā)送網(wǎng)絡(luò)信息,在企業(yè)推廣、輿論宣傳等方面具有重要的應(yīng)用價值。作為網(wǎng)絡(luò)信息群發(fā)系統(tǒng)的一個子課題,本文擬針對國內(nèi)流行的Discuz論壇作研究并實現(xiàn)一個基于網(wǎng)頁元素的論壇帖子群發(fā)技術(shù),該技術(shù)可以支持同時對多個Discuz論壇完成賬號注冊、登錄、帖子群發(fā)、帖子持續(xù)回復(fù)、注銷退出等操作。與現(xiàn)有常見的論壇帖子群發(fā)系統(tǒng)相比,本文研究并實現(xiàn)的論壇帖子群發(fā)技術(shù)基于網(wǎng)頁元素,具有穩(wěn)定可靠、實現(xiàn)方便、易于擴展等優(yōu)點。

關(guān)鍵詞:信息群發(fā),論壇,網(wǎng)頁元素

0.研究背景

隨著國際互聯(lián)網(wǎng)和移動通信網(wǎng)的發(fā)展,人們已習(xí)慣于使用手機短信、即時通訊工具、電子郵件、論壇帖子等基于網(wǎng)絡(luò)的通訊工具(以下簡稱網(wǎng)絡(luò)通訊工具)進(jìn)行信息交流。網(wǎng)絡(luò)通訊工具具有使用方便、成本低、受眾面廣等優(yōu)點。

網(wǎng)絡(luò)信息群發(fā)系統(tǒng)定義為一種可以向移動通信手機用戶和國際互聯(lián)網(wǎng)用戶批量發(fā)送手機短信、電子郵件、即時通信消息、論壇帖子等網(wǎng)絡(luò)信息的軟硬件平臺,在短時間內(nèi)充分利用各類網(wǎng)絡(luò)資源的發(fā)送能力,將己方設(shè)計好的信息送達(dá)上述目標(biāo)受眾群體。

網(wǎng)絡(luò)信息群發(fā)系統(tǒng)具有極高的應(yīng)用價值,例如企業(yè)使用網(wǎng)絡(luò)信息群發(fā)系統(tǒng)向所屬員工發(fā)送網(wǎng)絡(luò)信息可以達(dá)到日常管理的目的,政府機構(gòu)向一定范圍的民眾發(fā)送網(wǎng)絡(luò)信息可以達(dá)到引導(dǎo)輿論的目的,一國向敵方或第三方民眾發(fā)送網(wǎng)絡(luò)信息可以達(dá)到影響敵方或第三方民眾心理的作用,通過研究網(wǎng)絡(luò)信息群發(fā)技術(shù)的原理可以采取技術(shù)手段屏蔽非法網(wǎng)絡(luò)信息群發(fā)技術(shù),等等。

論壇帖子群發(fā)系統(tǒng)屬于網(wǎng)絡(luò)信息群發(fā)系統(tǒng)的一個子系統(tǒng)。論壇群發(fā)系統(tǒng)又名灌水機、發(fā)帖機等,顧名思義,它是可以實現(xiàn)同時向多個論壇注冊賬號、登錄、發(fā)送帖子、回復(fù)帖子等操作的軟件,是網(wǎng)絡(luò)推廣的一種手段,一般用于商業(yè)目的或者輿論宣傳。論壇帖子群發(fā)系統(tǒng)一般由注冊、發(fā)帖、監(jiān)控等幾個模塊組成,用戶通過軟件的窗口就能完成帖子群發(fā),其他的工作由后臺程序處理,一般比較好的論壇帖子群發(fā)系統(tǒng)能夠支持主流的論壇技術(shù),如Discuz、PHPwind、Dvbbs等。本文主要針對目前國內(nèi)主流的Discuz論壇系統(tǒng)研究論壇帖子群發(fā)技術(shù)。

1.研究現(xiàn)狀

一般的論壇帖子群發(fā)系統(tǒng)操作過程是構(gòu)造用戶計算機向論壇服務(wù)器提交的post表單內(nèi)容,實現(xiàn)代碼對論壇的操作。C#一般使用類HttpWebRequest實現(xiàn)模擬連接論壇以及向服務(wù)器提交post表單,使用類HttpWebResponse實現(xiàn)接受服務(wù)器的響應(yīng)信息,使用類StreamReader實現(xiàn)響應(yīng)信息的讀取。要實現(xiàn)同時對多個不同論壇的不同版塊發(fā)帖,則要利用編程中的多線程機制,循環(huán)上訴單次發(fā)帖過程即可,但是模擬報文中必須提交一個值formhash,而這個值是Discuz論壇系統(tǒng)根據(jù)登錄系統(tǒng)的用戶信息生成的,這個值較難獲取。

2.基于網(wǎng)頁元素的論壇帖子群發(fā)技術(shù)

2.1 Discuz論壇發(fā)帖中涉及的網(wǎng)頁元素

本課題基于網(wǎng)頁元素的論壇帖子群發(fā)技術(shù)中的網(wǎng)頁元素是指在Discuz論壇網(wǎng)頁中需要用戶輸入、選擇、點擊的網(wǎng)頁html基本元素,主要是指表單元素和鏈接元素。用戶對論壇的操作就是通過這些網(wǎng)頁元素進(jìn)行的。如在登錄頁面中,基本的網(wǎng)頁元素有賬號輸入框、密碼輸入框、登錄按鈕,為了防止惡意自動灌水,很多Discuz論壇都設(shè)置了驗證碼輸入框。

2.2基于網(wǎng)頁元素的單個帖子發(fā)送技術(shù)

基于網(wǎng)頁元素實現(xiàn)登錄的原理是用.net framework中的類HtmlElement代表Webbrowser中的密碼輸入框、賬號輸入框、提交按鈕等網(wǎng)頁元素,然后用類HtmlElement中的方法填入這些表單元素的值并提交,從而實現(xiàn)登錄。下面通過利用控件Webbrowser登錄論壇“小文之家“的例子來對基于網(wǎng)頁元素的單條帖子發(fā)送原理進(jìn)行詳細(xì)分析。

從本例可以看出,用控件Webbrowser登錄論壇非常簡單,主要的代碼也就六行,這種方法利用的是網(wǎng)頁表單元素填充機制。

分析以上的網(wǎng)頁源代碼和C#代碼,可知用C#的web類HtmlElement的三個對象可以分別代表賬號輸入框、密碼輸入框、登錄按鈕等網(wǎng)頁元素,用HtmlElement的方法SetAttribute給這些表單賦上相應(yīng)的值,如給賬號輸入框賦上賬號,給密碼輸入框賦上密碼,而 HtmlElement的方法InvokeMember可以模擬各種網(wǎng)頁操作,如InvokeMember("click")可以模擬對按鈕進(jìn)行點擊,用它就可以向服務(wù)器提交表單中的值,從而實現(xiàn)登錄。以上舉的是一個登錄論壇的例子,發(fā)帖與登錄的原理是一樣的,用控件Webbrowser模擬發(fā)帖實際上相當(dāng)于模擬人工直接在網(wǎng)頁上填寫表單并提交。

基于網(wǎng)頁元素的發(fā)帖技術(shù)從本質(zhì)上來說也是模擬HTTP報文對論壇進(jìn)行操作,只是這種技術(shù)采用C#中比較高級的類HtmlElement,它屏蔽了底層的數(shù)據(jù)通訊格式,用戶不需要關(guān)心論壇通信過程中http報文的具體格式,這就繞過Discuz論壇為了防止用戶惡意自動灌水而設(shè)的formhash值,而從論壇看來,通過這種技術(shù)發(fā)帖就如同用戶手工操作論壇發(fā)帖一樣。基于網(wǎng)頁元素的發(fā)帖技術(shù)比一般的發(fā)帖方法更加簡單、高效。

2.3多個論壇帖子群發(fā)技術(shù)

本課題采用控件Webbrowser獲取網(wǎng)頁元素發(fā)帖,如果只用一個Webbrowser,那么每發(fā)一次帖,都必須在這個控件內(nèi)經(jīng)歷連接論壇、注冊、登陸、發(fā)帖、回復(fù)、注銷退出等過程,顯然,如果只用一個Webbrowser來實現(xiàn)在多個Discuz論壇上群發(fā)帖子,效率是很低的,所以在本課題中,我們采用多個Webbrowser實現(xiàn)群發(fā)。

用代碼動態(tài)生成控件Webbrowser,就可以用多個Webbrowser實現(xiàn)群發(fā)。如同時向五個論壇發(fā)帖,動態(tài)生成五個Webbrowser,每個Webbrowser負(fù)責(zé)向一個論壇發(fā)帖,這樣就實現(xiàn)了帖子群發(fā),而每個Webbrowser各自在其負(fù)責(zé)的Discuz論壇內(nèi)完成連接、注冊、登錄、發(fā)帖、回復(fù)、注銷退出等操作,互不干擾,所以群發(fā)的效率還是比較高的。

3.結(jié)論與展望

隨著信息時代的到來,網(wǎng)絡(luò)將越來越流行,而論壇作為重要的網(wǎng)絡(luò)交流工具,因為其開放性強、影響面廣、門欄低等特點,也必將顯現(xiàn)巨大的作用,由此可見,論壇帖子群發(fā)系統(tǒng)作為一種廉價而方便的信息宣傳工具,還是有相當(dāng)大的開發(fā)價值的。本文對國內(nèi)流行的Discuz論壇作了研究,并實現(xiàn)了一個基于網(wǎng)頁元素的論壇帖子群發(fā)技術(shù),該技術(shù)可以同時對多個Discuz論壇完成賬號注冊、登錄、帖子群發(fā)、帖子持續(xù)回復(fù)、注銷退出等操作。

本文分析了目前國內(nèi)主流的Discuz論壇的工作過程和結(jié)構(gòu)特點,給出了論壇帖子群發(fā)的原理,利用.net framework平臺的優(yōu)勢和web網(wǎng)頁的結(jié)構(gòu)特點,研究了發(fā)帖過程中涉及到的網(wǎng)頁元素以及如何識別與獲取這些網(wǎng)頁元素,在此基礎(chǔ)上提出了一種基于網(wǎng)頁元素的論壇帖子群發(fā)技術(shù),描述了其工作過程和關(guān)鍵算法。相對于一般的論壇帖子群發(fā)系統(tǒng),本系統(tǒng)有實現(xiàn)簡單、穩(wěn)定高效、易于擴展的特點,更重要的是,本系統(tǒng)的實現(xiàn)基于C#的高級網(wǎng)頁類HtmlElement,利用它可以不必關(guān)心底層的數(shù)據(jù)通信結(jié)構(gòu),同時也就繞過了Discuz論壇為了防止灌水而設(shè)的值formhash。

由于時間和精力的限制,本文對論壇帖子群發(fā)技術(shù)的研究還不夠透徹,基于網(wǎng)頁元素的論壇帖子群發(fā)系統(tǒng)還有一些需要改進(jìn)的地方,下一步研究的工作主要是:

1)擴展可發(fā)帖的論壇類型。本課題的研究是基于Discuz論壇的,由于基于網(wǎng)頁元素的論壇帖子群發(fā)技術(shù)不需要關(guān)心底層的HTTP通信數(shù)據(jù)結(jié)構(gòu),所以很容易在稍加修改或者不必修改的情況下就能輕松支持其他版本的論壇。

2)自動識別填寫驗證碼?,F(xiàn)在許多因特網(wǎng)上的論壇都加了圖片驗證碼防止用戶惡意自動灌水,要真正實現(xiàn)在所有的論壇無障礙群發(fā)帖子,必須解決圖片驗證碼的識別與自動填寫問題。

3)實現(xiàn)自動注冊。本系統(tǒng)雖然可以同時進(jìn)行多個Discuz論壇的賬號注冊,但是注冊過程中需要手動填寫用戶名和密碼等信息,要提高發(fā)帖效率,就必須讓系統(tǒng)自動生成可用的用戶名和密碼進(jìn)行全自動注冊。

4)實現(xiàn)附件和帖子圖片添加功能。這些功能可以讓群發(fā)的信息內(nèi)容更加豐富,更加吸引人。

參考文獻(xiàn):

[1] 陳慧玲,帥立國,姜昌金.基于HTTP協(xié)議的論壇群發(fā)技術(shù)的研究[J].計算機技術(shù)與發(fā)展,2007,17(3):37-39.

[2] 石青論壇群發(fā)大師.http:www.crsky.com,2011-05-15.

[3] Charles M.Kozierok.The TCP/IP Guide:A Comprehensive Illustrated Internet Protocols Reference [M].San Francisco:No Starch Press,2005.

[4] 謝希仁.計算機網(wǎng)絡(luò)[M].第4版.北京:電子工業(yè)出版社,2003.

[5] Robin Nixon.Learning PHP,MySQL,and JavaScript [M].Sebastopol:OReilly,2009.

[6] Davis,F(xiàn).,Kahle,B.,Morris,H.,Salem,J.,Shen,T.,Wang,R.,Sui,J.,and M.Grinbaum,"WAIS Interface Protocol Prototype Functional Specification",(v1.5),Thinking Machines Corporation,April 1995.

乌什县| 衡水市| 通河县| 资溪县| 鸡泽县| 彝良县| 威海市| 深水埗区| 纳雍县| 青冈县| 囊谦县| 昆山市| 松滋市| 蒙自县| 高雄县| 杭锦旗| 紫金县| 左云县| 曲周县| 喜德县| 长岛县| 固阳县| 皋兰县| 儋州市| 德兴市| 镇江市| 张掖市| 岑溪市| 明水县| 武定县| 靖宇县| 离岛区| 安庆市| 岐山县| 卢龙县| 崇明县| 山东省| 武隆县| 荥经县| 丹棱县| 平南县|