超文本传送协议(超文本传输协议的缩写)工具类詹姆斯
包裹。com。shsnc。南方。znpact。服务器。util
进口。com。shsnc。南方。znpact。服务器。系统。常数。httpconstats
导入组织。阿帕奇。http。Httpentity
导入组织。阿帕奇。http。客户。Http客户端;
导入组织。阿帕奇。http。客户。方法。closeablehttpresponse
导入组织。阿帕奇。http。客户。方法。Http设置;
导入组织。阿帕奇。http。实体。严格性;
导入组织。阿帕奇。http。impl。客户。closeablehttpclient
导入组织。阿帕奇。http。impl。客户。HttpClientBuilder
导入组织。阿帕奇。http。乌提尔。entityutils
导入组织。slf4j。伐木工人;
导入组织。slf4j。伐木工人工厂;
导入组织。弹簧框架。靴子。配置处理器。JSON。jsonarray
导入组织。弹簧框架。靴子。配置处理器。JSON。jsone exception;
导入组织。弹簧框架。靴子。配置处理器。JSON。JSON对象;
导入Java。io。ioexception
导入Java。乌提尔。ArrayList
导入Java。乌提尔。HashMap
导入Java。乌提尔。列表;
导入Java。乌提尔。地图;
/**
* @作者黄骅
* @日期2020/3/9 17:18
*/
公共类HttpClientUtil {
私有静态最终记录器=记录器工厂。getlogger(httpclientutil。类);
/**
* 发送邮政请求
* @param url请求地址
* @param json请求参数
* @返回
*/
公共静态字符串网址引发JSONException {
//构建超文本传送协议(超文本传输协议的缩写)客户端
CloseableHttpClient Http client=HttpclientBuilder。创建().build();
//创建邮政请求
httpset httpset=new httpset(URL);
严格性实体=新的StringEntity(json,' UTF-8 ');
实体。setcontentencoding(' UTF-8 ');
实体。SetContentType(' application/JSON ');
httpset。setheader(' Content-Type ',' application/JSON;charset=utf8’);
//设置请求报文
httpPost.setEntity(实体);
//响应模型,构建响应模型
CloseableHttpResponse响应=null
//由客户端执行(发送)帖子请求
尝试{
响应=httpclient。执行(HttpSet);
//从响应模型中获取响应实体
HttpEntity响应实体=响应。getentity();
logger.info('url:{},响应代码:{} ',url,响应。GetStatusLine());
if (responseEntity!=null){ 0
字符串响应正文=entityutils。tostring(响应实体);
logger.info('url:{},响应体:{} ',url,响应体);
返回新的JSON对象(响应体);
}
} catch(IOexception e){ 0
e。print stack trace();
}最后{
尝试{
//释放资源
if (httpClient!=null){ 0
httpclient。close();
}
如果(回应!=null){ 0
回应。close();
}
} catch(IOexception e){ 0
e。print stack trace();
}
}
返回空
}
/**
* 根据传进来的地图参数转化成JSONObject的公共方法
* @param params
* @返回
*/
公共静态JSONObject createRequestJson(映射字符串,对象参数){ 0
JSON对象JSON对象=新的JSON对象(params);
返回jsonObj
}
公共静态void main(字符串[]参数)引发异常(
JSON对象obj=新的JSON对象();
obj.put('mockServerId ',' test-Baidu-7633 ');
JSONArray proxing rules=new JSONArray();
JSONObject规则=new JSON对象();
rule.put('serverPort ',1081);
rule.put('proxyRemotePort ',433);
rule.put('proxyRemoteHost ',' www。百度。com’);
rule.put('proxyRemoteScheme ',' HTTP ');
proxyingRules.put(规则);
物体。put(' proxingrules ',proxing rules);
字符串IP=' 192。168 .1 .43 ';
整数端口=27003;
字符串网址=字符串。格式(HttpconStats .MOCK_PROXY_START_URL,ip,端口);
logger.info('url:{},json: { } ',url,obj。tostring());
JSONObject res=sendPost(url,obj。ToString());
logger.info ('res3360),res .到弦()]
}
}
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/92783.html