聲明:文章內容全都是自己的學習總結,如有不對的地方請大家幫忙指出。有需要溝通交流的可加我QQ羣:425120333
主要是通過配置文件加載User-Agent信息,爲後面的獲取獲取網頁提供幫助。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class BrowserUtil {
private static final Log logger = LogFactory.getLog(BrowserUtil.class);
private static List<String> browserList = BrowserUtil.loadBrowser();
private static int index = -1;
private static List<String> loadBrowser() {
List<String> list = new ArrayList<String>();
String filePath = StringUtil.getClassPath() + "browser.txt";
File file = new File(filePath);
if (!file.exists()) {
return list;
}
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
String line = null;
while ((line = br.readLine()) != null) {
list.add(line);
}
} catch (FileNotFoundException e) {
logger.error(BrowserUtil.class, e);
} catch (IOException e) {
logger.error(BrowserUtil.class, e);
} finally {
try {
if (br != null) {
br.close();
}
} catch (IOException e) {
logger.error(BrowserUtil.class, e);
}
}
logger.info("browser list size :" + list.size());
return list;
}
/**
* @introduction:
* @param:
* @return:
*/
public static synchronized String getUserAgent() {
index++;
if (index >= browserList.size()) {
index = -1;
}
return browserList.get(index);
}
}
代碼中用到的文件browser.txt裏面存放的內容如下:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; Sleipnir/2.9.8)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0
可以根據自己的需求添加。