JAVA刷網站流量的技術研究總結
經過幾天的開發和測試,最終用JAVA實現了網站刷流量的程式,用到的技術SWT、JavaXPCOM。刷流量程式能利用多個代理IP,重新整理指定的多個網頁,並且一旦啟動後能穩定執行。這裡總結下用到的工具和技術。
本文為數飛OA工程師的技術探索和原創博文,首發於51CTO,轉載請註明出處。
基礎工具方面
首先是jre16和eclipse3.3.2。
採用的SWT,所以用到了org.eclipse.swt.win32.win32.x86_3.3.3.v3349.jar、org.eclipse.swt_3.3.2.v3349d.jar,這兩個jar檔案在eclipse的plugins能找到。
差不多有10年沒搞過javaapp,為了能在eclipse中開發SWT,我安裝了WindowBuilderPro,簡單玩玩,做了個粗糙的介面。
要使用JavaXPCOM技術動態設定Mozilla的代理IP,就要用到xulrunner,測試採用xulrunner1.9.20的版本能穩定執行,再高的版本就不支援JavaXPCOM。在eclipse開發時,要匯入:MozillaInterfaces.jar、javaxpcom.jar這兩個jar包。其中javaxpcom.jar在xulruner包裡找,MozillaInterfaces.jar包org.mozilla.xpcom的包裡。
Xulruner下載:
org.mozilla.xpcom下載:http://ftp.mozilla.org/pub/mozilla.org/xulrunner/eclipse/
有了這些工具就可以開發起來。
用JAVA程式碼動態設定瀏覽器的網路代理
Mozillamozilla=Mozilla.getInstance();
nsIServiceManagerserviceManager=mozilla.getServiceManager();
StringcontractID="@mozilla.org/preferences-service;1"
nsIPrefServiceprefService=(nsIPrefService)serviceManager.getServiceByContractID(contractID,nsIPrefService.NS_IPREFSERVICE_IID);
nsIPrefBranchbranch=prefService.getBranch("");
//這裡network.proxy.type設定為1是關鍵
branch.setIntPref("network.proxy.type",1);
branch.setCharPref("network.proxy.http",sProxyIp);
branch.setIntPref("network.proxy.http_port",iProxyPort);
用SWT增加browser的JAVA程式碼
finalDisplaydisplay=Display.getDefault();
finalShellshell=newShell(SWT.MIN|SWT.APPLICATION_MODAL|SWT.TITLE|SWT.BORDER|SWT.CLOSE);
//這裡引數是SWT.MOZILLA
finalBrowserbrowser=newBrowser(shell,SWT.MOZILLA);
browser.setUrl("www.soarwell.com");
shell.layout();
while(!shell.isDisposed()){
if(!display.readAndDispatch())
display.sleep();
}
shell.pack();
啟動執行緒動態切換網路代理和網站地址的JAVA程式碼
newThread(newRunnable(){
publicvoidrun(){
try{
while(true){
//迴圈取代理IP
for(i=0;i<str_ProxyKey.length;i++){
//迴圈取要訪問的網站
for(j=0;j<str_WebKey.length;j++){
//檢測代理和網站是否可用
//代理和網站都可以使用
display.syncExec(newRunnable(){
publicvoidrun(){//設定代理
proxy.modifyProxy(str_Proxy[0],str_Proxy[1]);
//訪問網站browser.setUrl(strWebUrl);
}//run
});//display.}//forj
}//fori
}//while(true){
}catch(Exceptione){
e.printStackTrace();
}
}//run
}).start();//newThread(newRunnable()
//啟動執行緒結束
修改xulrunner遮蔽mozilla彈出視窗的提示
找到xulrunner/greprefs/all.js,加入:
pref("browser.xul.error_pages.enabled",true);
打包成application執行
打包成app.jar,MANIFEST.MF檔案必須要明確用到的jar檔案路徑:
Class-Path:javaxpcom.jarMozillaInterfaces.jarorg.eclipse.swt.win32.win32.x86_3.3.3.v3349.jarorg.eclipse.swt_3.3.2.v3349d.jar
把這四個jar包跟生成應用程式app.jar包放在同一目錄。執行的機器也必須要有jre和xulrunner。
寫個bat檔案來執行:java-jarapp.jar
實現刷網站流量程式的個人感想
平時不怎麼用到的技術,要馬上用起來還真費勁。找齊這些工具,解決每個細小的問題,都要花時間和精力。真的要做好一個應用,還需要更專業的精神深入研究。
從技術角度來說,個人使用者採用切換代理刷網站流量的方式是最可行的。按照這些步驟實現的刷網站流量程式,再優化一些細節,找到更多的代理、加入多執行緒、增加網站來路、增加隨機訪問等環節,可以模擬出很真實的訪問資料。
不過這些僅限於技術研究,真的要讓網站訪問量提高,還是要紮實做好網站的內容和推廣。相關推薦
JAVA刷網站流量的技術研究總結
經過幾天的開發和測試,最終用JAVA實現了網站刷流量的程式,用到的技術SWT、JavaXPCOM。刷流量程式能利用多個代理IP,重新整理指定的多個網頁,並且一旦啟動後能穩定執行。這裡總結下用到的工具和技術。 本文為數飛OA工程師的技術探索和原創博文,首發於51CTO,轉載請註明出處。 基礎工具方面
《億級流量網站架構核心技術》總結
nginx後端節點健康檢查 主要有三種實現方式: 1. 本身自帶的ngx_http_proxy_module模組和ngx_http_upstream_module模組,屬於惰性檢測。 ngx_http_proxy_module:proxy_connect_
大型分布式網站架構技術總結
高可用性 病毒 接口 物理 family 介紹 功能 三層應用 錯誤 本文是學習大型分布式網站架構的技術總結。對架構一個高性能,高可用,可伸縮,可擴展的分布式網站進行了概要性描述,並給出一個架構參考。一部分為讀書筆記,一部分是個人經驗總結。對大型分布式網站架構有很好的參考價
java多線程編程核心技術——全書總結
結束 遺憾 nbsp 可能 找到 真的 感慨 總結 是你 這本書大致上是看完了,不過第七章結束的匆匆忙忙很不好。 不過好在還是看完了,勉強算吧。 回想這一年,挺感慨的,心裏一直謀求著進步,卻很難行動起來。 仔細想想確實啊,想一直進步肯定要犧牲自己的業余時間,雖然一點也不排斥
Java和.NET(C#)的開發用到的技術對比總結
平臺 分發 非關系型 宇宙 marker core block 微軟企業庫 session 前言 聲明:我指的是一般的Java和.NET(C#)的後臺開發用到的技術總結 最近一直在應聘ing,樓主的項目還是.NET(C#)項目居多,Java項目相對少,在這也吐槽下,招.
JAVA核心技術筆記總結--第6章 抽象類、接口、內部類和Lambda表達式
重載方法 lam 類變量 cat 而在 訪問 負責 3.4 第一次 6.1 抽象類 抽象類是指定義時有 abstract 修飾的類,例如: public abstract class Person{ ... public abstract String getD
JAVA核心技術筆記總結--第5章 繼承
指定 方法重載 阻止 決定 基礎 驗證 cep 兩個類 屏蔽 第五章 繼承 繼承是指基於已有的類構造一個新類,繼承已有類就是復用(繼承)這些類的成員變量和方法。並在此基礎上,添加新的成員變量和方法,以滿足新的需求。java不支持多繼承。 5.1 類、超類和子類 5.1.1
java小白自己動手開發一個網站之技術選型(第3回)
新手小白,大神們看到什麼問題,請多多指出 目錄 MyWeb技術選型 一、域名 二 、網站空間 三 、開發環境: 四、框架選擇 1.前段 2.後端 五、資料庫 六、伺服器 MyWeb技術選型 一、域名 來
java技術學習總結:過濾器鏈的實現方法、配置和案例分析
今天給大家分享的是Java技術學習總結:過濾器鏈的實現方法、配置和案例分析。 過濾器能夠對網站中的各種內容進行過濾(頁面、Servlet、圖片、檔案),可以在網站內容請求和響應時進行一些操作,完成一些通用的功能。 過濾器鏈 在專案中可以建立多個過濾器,網站內容可能會經過多個過濾器,多個過
大資料技術學習筆記之網站流量日誌分析專案:資料採集層的實現3
一、資料採集業務 -》資料來源 -》網站:使用者訪問日誌、使用者行為日誌、伺服器執行日誌 -》業務:
大資料技術學習筆記之網站流量日誌分析專案:網站業務與企業架構2
一、回顧 -》flume使用遇到的錯誤 -》少jar包 -》卡住不動:agent檔案不對 &nbs
大資料技術學習筆記之網站流量日誌分析專案:Flume日誌採集系統1
一、網站日誌流量專案 -》專案開發階段: -》可行性分析 -》需求分析
java核心技術-(總結自楊曉峰-java核心技術36講)
1. 談談你對java平臺的理解 首先是java最顯著的兩個特性,一次寫入處處執行;還有垃圾收集器gc,gc能夠對java記憶體進行管理回收,程式設計師不需要關心記憶體的分配和回收問題 然後談談jre和jdk的區別,jre包含了jvm和java類庫;jdk除了jvm和java類庫,還包含了一些ja
Java裸寫爬蟲技術,運用多執行緒技術,高效爬取某個醫療機構網站資料
最近喜歡上了資料的龐大的感覺,就爬取了一下某個醫療機構網站醫療資料,由於資料量龐大,只爬取了江西省的各個市的各個醫院的各個科室的各個科室。中各種資訊。其中用的持久層技術是hibernate框架,和用到一
Java個人技術知識點總結(框架篇)
框架篇 Struts1的執行原理 在啟動時通過前端總控制器ActionServlet載入struts-config.xml並進行解析,當用戶在jsp頁面傳送請求被struts1的核心控制器ActionServlet接收,ActionServlet在使用者請求時將請求引數放
Java併發技術學習總結
這位大俠,這是我的公眾號:程式設計師江湖。 分享程式設計師面試與技術的那些事。 乾貨滿滿,關注就送。 Java併發 這篇總結主要是基於我Java併發技術系列的文章而形成的的。主要是把重要的知識點用自己的話說了一遍,可能會有一些錯誤,還望見諒和指點。謝謝
java技術經驗總結
java後端1年經驗和技術總結(1) 1.引言 畢業已經一年有餘,這一年裡特別感謝技術管理人員的器重,以及同事的幫忙,學到了不少東西。這一年裡走過一些彎路,也碰到一些難題,也受到過做為一名開發卻經常為系統維護和釋出當救火隊員的苦惱。遂決定梳理一下自己所學的東西,為大家分享
小白學習Java技術知識點總結,其實學習Java沒那麼難
邊學習邊記錄是程式設計師快速進步的途徑,只有你不斷累積知識,才能有質的飛躍,不斷的coding,累積經驗。 第一講,主要是Java環境變數的配置。 搭建好環境才能幹活。要理解什麼是編譯、什麼是執行。編譯是Javac.exe程式在負責;執行則由Java.exe負責。編譯後得到的是位元組碼檔案x
java執行緒池技術總結
1.Executor 執行緒池頂層介面,只有一個execute方法,void execute(Runnable command); 2.ExecutorService介面繼承於Executor介面 3.Executors 是操作Executor的工具類 Executo
【明天的地平線】專注Java相關技術:SpringBoot、Spr ingCloud、MyBatis、Docker、微服務、叢集、分散式、 Linux、Jenkins、Netty、Angular 5 、Vue 2、微信小程式、程式碼生成器等的技術研究和乾貨分
專注Java相關技術:SpringBoot、Spr ingCloud、MyBatis、Docker、微服務、叢集、分散式、 Linux、Jenkins、Netty、Angular 5 、Vue 2、微...