Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cash-loan-flow-boss
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QG
cash-loan-flow-boss
Commits
db0e7263
Commit
db0e7263
authored
Jan 02, 2020
by
shangying
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sonar问题修改10
parent
5ea85e61
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
77 additions
and
98 deletions
+77
-98
HttpService.java
...n/quantgroup/cashloanflowboss/utils/http/HttpService.java
+77
-98
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/utils/http/HttpService.java
View file @
db0e7263
...
...
@@ -190,10 +190,18 @@ public class HttpService {
result
=
doResponse
(
response
,
urlString
);
// 得到响应状态码
int
statuCode
=
response
.
getStatusLine
().
getStatusCode
();
resultEntity
.
setStatusCode
(
statuCode
);
if
(!
Objects
.
isNull
(
statuCode
)){
resultEntity
.
setStatusCode
(
statuCode
);
}
else
{
log
.
info
(
"返回的数据有问题statuCode={}"
,
statuCode
);
}
resultEntity
.
setResponseString
(
result
);
resultEntity
.
setCookies
(
cookieStore
.
getCookies
());
resultEntity
.
setStatusCode
(
response
.
getStatusLine
().
getStatusCode
());
if
(!
Objects
.
isNull
(
response
.
getStatusLine
()))
{
resultEntity
.
setStatusCode
(
response
.
getStatusLine
().
getStatusCode
());
}
}
}
catch
(
MalformedURLException
e
)
{
...
...
@@ -295,7 +303,9 @@ public class HttpService {
resultEntity
.
setResponseString
(
result
);
resultEntity
.
setCookies
(
cookieStore
.
getCookies
());
resultEntity
.
setStatusCode
(
response
.
getStatusLine
().
getStatusCode
());
if
(!
Objects
.
isNull
(
response
.
getStatusLine
())
)
{
resultEntity
.
setStatusCode
(
response
.
getStatusLine
().
getStatusCode
());
}
}
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
...
...
@@ -312,7 +322,6 @@ public class HttpService {
if
(
null
==
url
||
url
.
isEmpty
()
||
!
url
.
startsWith
(
httpUrl
))
{
// 如果urlString为null或者urlString为空,或urlString非http开头,返回src空值
return
resultEntity
;
}
CloseableHttpResponse
response
=
null
;
HttpPost
httpPost
=
null
;
try
{
...
...
@@ -332,9 +341,7 @@ public class HttpService {
httpPost
.
setEntity
(
entity
);
}
}
setHttpHeaderInfo
(
httpPost
,
headerInfo
);
CookieStore
cookieStore
=
new
BasicCookieStore
();
HttpContext
localContext
=
new
BasicHttpContext
();
localContext
.
setAttribute
(
ClientContext
.
COOKIE_STORE
,
cookieStore
);
...
...
@@ -354,122 +361,94 @@ public class HttpService {
}
else
{
response
=
httpService
.
getHttpClient
().
execute
(
httpPost
,
localContext
);
System
.
out
.
println
(
"打印响应码》》》》: "
+
response
.
getStatusLine
());
System
.
out
.
println
(
"打印结果》》》》: "
+
response
.
getEntity
());
}
}
catch
(
Exception
e
)
{
// e.printStackTrace();
log
.
info
(
"异常信息e={}"
,
e
);
}
result
=
doResponse
(
response
,
url
);
if
(!
url
.
isEmpty
()&&!
response
.
toString
().
isEmpty
()){
if
(
StringUtils
.
isNotEmpty
(
url
)&&
StringUtils
.
isNotEmpty
(
response
.
toString
())){
if
(
response
==
null
){
log
.
info
(
"请求超时,最大超时时间:{},url:{}"
,
CommonConstant
.
HTTPCLIENT_CONNECT_TIMEOUT
,
url
);
return
resultEntity
;
}
// 得到响应状态码
int
statuCode
=
response
.
getStatusLine
().
getStatusCode
();
// 根据状态码进行逻辑处理
switch
(
statuCode
)
{
case
200
:
// 获得响应实体
HttpEntity
entity
=
response
.
getEntity
();
// Logger.log("获取entity: "+entity);
String
charset1
=
getCharset
(
entity
);
// Logger.log("获取charset1: "+charset1);
Header
header
=
entity
.
getContentEncoding
();
// Logger.log("entity.getContentEncoding(): "+header);
boolean
isGzip
=
isGzip
(
header
);
InputStream
inputStream
=
entity
.
getContent
();
// Logger.log("获取实体的文本entity.getContent(): "+inputStream);
ByteArrayBuffer
buffer
=
new
ByteArrayBuffer
(
2048
);
byte
[]
tmp
=
new
byte
[
2048
];
int
count
;
// System.out.println("isGzip的值有问题: " + isGzip);
if
(
isGzip
)
{
GZIPInputStream
gzipInputStream
=
new
GZIPInputStream
(
inputStream
);
while
((
count
=
gzipInputStream
.
read
(
tmp
))
!=
-
1
)
{
buffer
.
append
(
tmp
,
0
,
count
);
}
}
else
{
while
((
count
=
inputStream
.
read
(
tmp
))
!=
-
1
)
{
buffer
.
append
(
tmp
,
0
,
count
);
}
}
log
.
info
(
"获取实体的文本buffer:{} "
,
buffer
);
if
(
null
==
charset1
||
""
.
equals
(
charset1
)
||
"null"
.
equals
(
charset1
)
||
"zh-cn"
.
equalsIgnoreCase
(
charset1
))
{
System
.
out
.
println
(
"charset1的值有问题: "
+
charset1
);
charset1
=
getCharsetFromMetaTag
(
buffer
,
url
);
}
else
{
System
.
out
.
println
(
"打印charset1的值: "
+
charset1
);
}
result
=
new
String
(
buffer
.
toByteArray
(),
charset1
);
break
;
case
400
:
System
.
out
.
println
(
"下载400错误代码,请求出现语法错误,url:"
+
url
);
break
;
case
401
:
System
.
out
.
println
(
"未授权: 由于凭据无效,访问被拒绝:"
+
url
);
break
;
case
403
:
System
.
out
.
println
(
"下载403错误代码,资源不可用,url:"
+
url
);
break
;
case
404
:
System
.
out
.
println
(
"下载404错误代码,无法找到指定资源地址,url:"
+
url
);
break
;
case
503
:
System
.
out
.
println
(
"下载503错误代码,服务不可用,url:"
+
url
);
break
;
case
504
:
System
.
out
.
println
(
"下载504错误代码,网关超时,url:"
+
url
);
break
;
default
:
System
.
out
.
println
(
"下载其他错误代码,url:"
+
url
);
break
;
}
result
=
getReslut
(
statuCode
,
url
,
response
);
System
.
out
.
println
(
">>>>>>>>>>>>>>>>>>>>>"
);
System
.
out
.
println
(
"打印获取的result: "
+
result
);
}
resultEntity
.
setResponseString
(
result
);
resultEntity
.
setCookies
(
cookieStore
.
getCookies
());
resultEntity
.
setStatusCode
(
response
.
getStatusLine
().
getStatusCode
());
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
}
return
resultEntity
;
}
public
String
getReslut
(
int
statuCode
,
String
url
,
CloseableHttpResponse
response
)
throws
IOException
{
String
result
=
""
;
switch
(
statuCode
)
{
case
200
:
// 获得响应实体
HttpEntity
entity
=
response
.
getEntity
();
String
charset1
=
getCharset
(
entity
);
Header
header
=
entity
.
getContentEncoding
();
boolean
isGzip
=
isGzip
(
header
);
InputStream
inputStream
=
entity
.
getContent
();
ByteArrayBuffer
buffer
=
new
ByteArrayBuffer
(
2048
);
byte
[]
tmp
=
new
byte
[
2048
];
int
count
;
if
(
isGzip
)
{
GZIPInputStream
gzipInputStream
=
new
GZIPInputStream
(
inputStream
);
while
((
count
=
gzipInputStream
.
read
(
tmp
))
!=
-
1
)
{
buffer
.
append
(
tmp
,
0
,
count
);
}
}
else
{
while
((
count
=
inputStream
.
read
(
tmp
))
!=
-
1
)
{
buffer
.
append
(
tmp
,
0
,
count
);
}
}
log
.
info
(
"获取实体的文本buffer:{} "
,
buffer
);
if
(
StringUtils
.
isBlank
(
charset1
)
||
"zh-cn"
.
equalsIgnoreCase
(
charset1
))
{
System
.
out
.
println
(
"charset1的值有问题: "
+
charset1
);
charset1
=
getCharsetFromMetaTag
(
buffer
,
url
);
}
else
{
System
.
out
.
println
(
"打印charset1的值: "
+
charset1
);
}
result
=
new
String
(
buffer
.
toByteArray
(),
charset1
);
break
;
case
400
:
System
.
out
.
println
(
"下载400错误代码,请求出现语法错误,url:"
+
url
);
break
;
case
401
:
System
.
out
.
println
(
"未授权: 由于凭据无效,访问被拒绝:"
+
url
);
break
;
case
403
:
System
.
out
.
println
(
"下载403错误代码,资源不可用,url:"
+
url
);
break
;
case
404
:
System
.
out
.
println
(
"下载404错误代码,无法找到指定资源地址,url:"
+
url
);
break
;
case
503
:
System
.
out
.
println
(
"下载503错误代码,服务不可用,url:"
+
url
);
break
;
case
504
:
System
.
out
.
println
(
"下载504错误代码,网关超时,url:"
+
url
);
break
;
default
:
System
.
out
.
println
(
"下载其他错误代码,url:"
+
url
);
break
;
}
return
result
;
}
public
HttpResultEntity
doPost
(
String
url
,
String
paras
,
Map
<
String
,
String
>
headerInfo
,
String
filePath
,
String
pwd
,
String
charset
)
{
HttpResultEntity
resultEntity
=
new
HttpResultEntity
();
...
...
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