| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- package com.ydtech.modules.ins.scheduler;
- import org.apache.http.HttpHost;
- import org.apache.http.client.CookieStore;
- import org.apache.http.client.config.RequestConfig;
- import org.apache.http.client.methods.CloseableHttpResponse;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.impl.client.BasicCookieStore;
- import org.apache.http.impl.client.CloseableHttpClient;
- import org.apache.http.impl.client.HttpClients;
- import org.apache.http.impl.cookie.BasicClientCookie;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import redis.clients.jedis.Jedis;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.concurrent.TimeUnit;
- @Component
- public class PiccHeartScheduler {
- private static Jedis jedis = new Jedis("localhost");
- private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- Logger logger = LoggerFactory.getLogger(getClass());
- //每隔500秒执行一次 大约8分钟
- // @Scheduled(fixedRate = 500000)
- public void testTasks() {
- System.out.println("定时任务执行时间:" + dateFormat.format(new Date()));
- try {
- //String url = "http://10.134.134.144:8000/favicon.ico";
- String url = "http://10.134.134.144:8000/prpall/business/prepareEdit.do?bizType=PROPOSAL&editType=NEW";
- String result = doGetPICC(url);
- //logger.info("PICC定时任务执行时间:" + dateFormat.format(new Date()) + " " + result);
- } catch (Exception e) {
- logger.info("PICC定时任务执行时间:" + e.getMessage());
- }
- }
- public static String doGetPICC(String url) {
- String result = "success";
- Map<String, String> headerMap = new HashMap<String, String>();
- headerMap.put("Accept", "*/*");
- headerMap.put("Accept-Language", "zh-CN");
- headerMap.put("Referer", "http://10.134.134.144:8000/");
- headerMap.put("x-requested-with", "XMLHttpRequest");
- headerMap.put("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
- headerMap.put("Accept-Encoding", "gzip, deflate");
- headerMap.put("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)\n");
- headerMap.put("Host", "10.134.134.144:8000");
- headerMap.put("Connection", "Keep-Alive");
- headerMap.put("Pragma", "no-cache");
- String picccookie = jedis.get("picccookie");
- System.out.println("Stored string in redis:: " + picccookie);
- // headerMap.put("Cookie", "JSESSIONID=98nmd5bS6GXyQ5WrDy7xJDrtknHHdsXRkFMdB9d2n2Ldq049gbp2!-320086895; BOCINS_prpall_Cookie=n75ld5bctyGny9h2GJJqkfgHp12KTxN4qYL1fPTGccRcztpwQbgQ!-1432842303\n");
- headerMap.put("Cookie", picccookie);
- Map<String, String> cookieMap = new HashMap<String, String>();
- CloseableHttpClient httpClient = null;
- //设置代理IP、端口、协议(请分别替换)
- HttpHost proxy = null;
- if (url.contains("https")) {
- proxy = new HttpHost("127.0.0.1", 8888, "https");
- } else {
- proxy = new HttpHost("127.0.0.1", 8888, "http");
- }
- RequestConfig config = RequestConfig.custom().
- setProxy(proxy).
- setConnectTimeout(10000).
- setSocketTimeout(15000).
- build();
- CookieStore cookieStore = new BasicCookieStore();
- if (cookieMap != null && cookieMap.size() > 0) {
- Iterator cookieIterator = cookieMap.entrySet().iterator(); //循环增加header
- while (cookieIterator.hasNext()) {
- Map.Entry<String, String> elem = (Map.Entry<String, String>) cookieIterator.next();
- cookieStore.addCookie(new BasicClientCookie(elem.getKey(), elem.getValue()));
- }
- }
- httpClient = HttpClients.custom().
- setProxy(proxy).
- setDefaultRequestConfig(config).
- setDefaultCookieStore(cookieStore).
- setConnectionTimeToLive(60000, TimeUnit.MILLISECONDS).
- build();
- HttpGet httpGet = new HttpGet(url.trim());
- if (headerMap != null && headerMap.size() > 0) {
- Iterator headerIterator = headerMap.entrySet().iterator(); //循环增加header
- while (headerIterator.hasNext()) {
- Map.Entry<String, String> elem = (Map.Entry<String, String>) headerIterator.next();
- httpGet.addHeader(elem.getKey(), elem.getValue());
- }
- }
- try {
- CloseableHttpResponse response = httpClient.execute(httpGet);
- } catch (IOException e) {
- e.printStackTrace();
- result = e.getMessage();
- }
- //String result = EntityUtils.toString(response.getEntity(), "utf-8");
- //System.out.println("返回结果:" + result);
- //printResponse(response);
- return result;
- }
- }
|