package com.demo;
import com.jackson.common.control.SimpleRequestControl;
import com.jackson.db.po.Url;
import com.jackson.db.service.UrlService;
import com.jackson.reservoir.HttpGetPool;
import org.apache.http.client.methods.HttpGet;
/**
* Created by Jackson on 2017/2/16.
* 请求例子,介绍使用SimpleRequestControl 请求并解析的例子
*/
public class RequestDemo {
public static void main(String[] args){
//创建url表
UrlService url_db_name = new UrlService("url_db_name");
//创建请求对象
Url url = Url.newHttpGetUrl("http://www.baidu.com");
//将请求对象添加到表里
url_db_name.insert(url);
//创建请求管理对象
SimpleRequestControl simpleRequestControl = SimpleRequestControl.newInstance(url_db_name);
//设置请求线程数
simpleRequestControl.setThreadSize(10);
//设置任务间隔时间
simpleRequestControl.setDelay(new SimpleRequestControl.DelayHandle() {
@Override
public long getDelay(Url url) {
// Random 不固定定时也可以
return 3000;
}
});
//设置请求参数, 这里的设置相对于url的RequestConfig 会被回调,通常用作全局性的header设置等
simpleRequestControl.setHttpGetConfigHandler(new HttpGetPool.HttpGetConfigHandler() {
@Override
public HttpGet setConfig(HttpGet httpGet, Url url) {
httpGet.setHeader("user-agent","BaiduSpider");
return httpGet;
}
});
//开启任务,在开启任务前设置好参数
simpleRequestControl.start();
}
}