Commit 8bb7c650 authored by jim's avatar jim

release

parent 65873c7e
......@@ -9,6 +9,14 @@ public class QueryIpUrlList {
private String id;
private String url;
public QueryIpUrlList() {
}
public QueryIpUrlList(String id, String url) {
this.id = id;
this.url = url;
}
public String getId() {
return id;
}
......@@ -24,4 +32,6 @@ public class QueryIpUrlList {
public void setUrl(String url) {
this.url = url;
}
}
......@@ -20,12 +20,12 @@ import com.edgec.browserbackend.common.commons.utils.NotifyUtils;
import com.edgec.browserbackend.common.utils.ThreadPoolUtils;
import com.edgec.browserbackend.common.utils.Trans;
import okhttp3.*;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.aggregation.ArrayOperators;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
......@@ -35,10 +35,7 @@ import org.springframework.web.client.RestTemplate;
import java.io.IOException;
import java.time.Instant;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
......@@ -238,40 +235,40 @@ public class BrowserTask {
long start = System.currentTimeMillis();
if (ipResourceRepository.healthLock(ipResource)) {
try {
QueryIpUrlList queryIpUrlList = queryIpUrlListRepository.findAll().get(0);
int failTime = 0;
List<QueryIpUrlList> queryIpUrlLists = queryIpUrlListRepository.findAll();
final int maxRetry = Math.max(queryIpUrlLists.size(), 5);
if (ipResource.getValidTime() <= Instant.now().toEpochMilli() && ipResource.getStatus() != 3 && ipResource.getStatus() != 6) {
ipResource.setStatus(1);
ipResourceRepository.save(ipResource);
}
else if (ipResource.isSpecialLine()) {
} else if (ipResource.isSpecialLine()) {
Trans trans = new Trans(ipResource.getProxyUsername(), ipResource.getProxyPassword());
String sp_result = trans.get(queryIpUrlList.getUrl());
int failTime = 0;
String sp_result = trans.get(getNextUrl(queryIpUrlLists, failTime).getUrl());
while (!sp_result.contains(ipResource.getAddr())) {
if (failTime > 5) {
if (failTime > maxRetry) {
NotifyUtils.sendMessage("防关联浏览器 ip " + ipResource.getAddr() + " 专线代理异常", NotifyUtils.MsgType.WEBHOOK);
log.error("防关联浏览器 ip " + ipResource.getAddr() + " 专线代理异常 " + sp_result);
break;
}
failTime ++;
failTime++;
Thread.sleep(2000);
sp_result = trans.get(queryIpUrlList.getUrl());
sp_result = trans.get(getNextUrl(queryIpUrlLists, failTime).getUrl());
}
} else if (ipResource.getIpType() == IpType.VENDOR){
} else if (ipResource.getIpType() == IpType.VENDOR) {
String result;
Trans trans = new Trans(ipResource.getAddr(), Integer.valueOf(ipResource.getPort().size() > 1?ipResource.getPort().get(1):ipResource.getPort().get(0)), ipResource.getUsername(), ipResource.getPassword());
result = trans.get(queryIpUrlList.getUrl());
Trans trans = new Trans(ipResource.getAddr(), Integer.valueOf(ipResource.getPort().size() > 1 ? ipResource.getPort().get(1) : ipResource.getPort().get(0)), ipResource.getUsername(), ipResource.getPassword());
result = trans.get(getNextUrl(queryIpUrlLists, failTime).getUrl());
if (!result.contains(ipResource.getAddr())) {
int failTime = 0;
while (!result.contains(ipResource.getAddr())) {
if (failTime > 5) {
if (failTime > maxRetry) {
NotifyUtils.sendMessage("防关联浏览器 ip " + ipResource.getAddr() + " 代理异常", NotifyUtils.MsgType.WEBHOOK);
log.error("防关联浏览器 ip " + ipResource.getAddr() + " 代理异常 " + result);
break;
}
failTime ++;
failTime++;
Thread.sleep(2000);
result = trans.get(queryIpUrlList.getUrl());
result = trans.get(getNextUrl(queryIpUrlLists, failTime).getUrl());
}
}
}
......@@ -293,6 +290,17 @@ public class BrowserTask {
}
}
private static QueryIpUrlList getNextUrl(List<QueryIpUrlList> queryIpUrlLists, int count) {
if (CollectionUtils.isEmpty(queryIpUrlLists)) {
return null;
}
int size = queryIpUrlLists.size();
int index = count % size;
return queryIpUrlLists.get(index);
}
@Scheduled(cron = "0 0 0 * * ?")
public void countIp() {
List<Account> accounts = accountRepository.findAll();
......@@ -348,23 +356,13 @@ public class BrowserTask {
public static void main(String[] args) throws IOException {
// String url = CLOUDAMURL + "/ecc/ipinfo?accountId=browser&ip=" + "100.25.101.201";
// String profiles = "prod";
// Map<String, String> headers = new HashMap<>();
// headers.put("Content-Type", "application/json");
// if (profiles.equals("dev") || profiles.equals("staging"))
// headers.put("Authorization", "Bearer oq5tg3gMsflHcK5iZ2741G5R30XYd9blyOqH9qeBItKtrzfTsGIoy8AsxqqNXdcm");
// else if (profiles.equals("prod"))
// headers.put("Authorization", "Bearer tKWsuHzcngf0RQPMss70f9jgymDIwgQ9zbLfESJdcou3pZSNWl7lNTzto8VQgwaO");
//
// String rs = HttpClientutils.doGet(url, headers);
// System.out.println(rs);
// IpInfoResultDto ipInfoResultDto = JSONObject.parseObject(rs, IpInfoResultDto.class);
// System.out.println(ipInfoResultDto);
Trans trans = new Trans("8.208.28.192", "962MrDCCd2pvaA1");
String sp_result = trans.get("http://pv.sohu.com/cityjson");
System.out.println(sp_result);
List<QueryIpUrlList> queryIpUrlLists = new ArrayList<>();
queryIpUrlLists.add(new QueryIpUrlList("1", "baidu"));
queryIpUrlLists.add(new QueryIpUrlList("2", "google"));
for (int i = 0; i < 10; i++) {
System.out.println(getNextUrl(queryIpUrlLists, i).getUrl());
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment