package com.demo; import com.jackson.common.control.TimerRequestControl; import com.jackson.common.control.UserAgentControl; import com.jackson.db.po.Url; import com.jackson.reservoir.HttpGetPool; import com.jackson.reservoir.HttpPostPool; import com.jackson.reservoir.TimedUrlPool; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; /** * Created by Jackson on 2017/2/16. * 定时请求例子 */ public class TimerRequestDemo { public static void main(String[] args){ //创建定时任务 TimedUrlPool.TimedUrl task1= new TimedUrlPool.TimedUrl() { @Override public Url getUrl() { return Url.newHttpGetUrl("http://www.youdaili.net",ParserDemo.class); } @Override public long getDelay() { return 3000; } }; //创建定时任务 TimedUrlPool.TimedUrl task2= new TimedUrlPool.TimedUrl() { @Override public Url getUrl() { return Url.newHttpGetUrl("http://www.17k.com/",ParserDemo.class); } @Override public long getDelay() { return 3000; } }; TimerRequestControl timerRequestControl = TimerRequestControl.newInstance(); //添加定时任务 timerRequestControl.addTimedUrl(task1); timerRequestControl.addTimedUrl(task2); timerRequestControl.setHttpGetConfigHandler(new HttpGetPool.HttpGetConfigHandler() { @Override public HttpGet setConfig(HttpGet httpGet, Url url) { httpGet.setHeader("User-Agent", UserAgentControl.getInstance().next(UserAgentControl.UserAgentType.PC)); return httpGet; } }); timerRequestControl.setHttpPostConfigHandler(new HttpPostPool.HttpPostConfigHandler() { @Override public HttpPost setConfig(HttpPost httpPost, Url url) { httpPost.setHeader("User-Agent", UserAgentControl.getInstance().next(UserAgentControl.UserAgentType.PC)); return httpPost; } }); //设置请求线程数 timerRequestControl.setThreadSize(10); timerRequestControl.start(); } /** * 如果定时请求任务要通过代理,可以通过构造方法传入proxyController来构造TimerRequestControl */ public void useProxy(){ TimerRequestControl.newInstance(ProxyDemo.getProxyController()); } }