Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
browser-backend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
browser-backend
Commits
8bb7c650
Commit
8bb7c650
authored
Jun 01, 2020
by
jim
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
release
parent
65873c7e
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
37 deletions
+45
-37
QueryIpUrlList.java
...m/edgec/browserbackend/account/domain/QueryIpUrlList.java
+10
-0
BrowserTask.java
...va/com/edgec/browserbackend/browser/task/BrowserTask.java
+35
-37
No files found.
src/main/java/com/edgec/browserbackend/account/domain/QueryIpUrlList.java
View file @
8bb7c650
...
...
@@ -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
;
}
}
src/main/java/com/edgec/browserbackend/browser/task/BrowserTask.java
View file @
8bb7c650
...
...
@@ -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
());
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment