Commit db0e7263 authored by shangying's avatar shangying

sonar问题修改10

parent 5ea85e61
......@@ -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();
......
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