http工具类 james

技术http工具类 james http工具类 jamespackage com.shsnc.south.znpact.server.util;import com.shsnc.south.znpact

超文本传送协议(超文本传输协议的缩写)工具类詹姆斯

包裹。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

(0)

相关推荐

  • gis安装

    技术gis安装 gis安装1、下载arcGis10.2软件下载地址:https://pan.baidu.com/s/1rHtNHn-l-myoSvCvbpAGHA 提取码:ki1e (压缩包密码:arc

    礼包 2021年10月28日
  • 使用Ubuntu自带远程桌面

    技术使用Ubuntu自带远程桌面 使用Ubuntu自带远程桌面背景
    工作总偶尔需要使用到图形界面调试,对于不支持x11转发的程序无法依靠ssh -X实现,需要借助远程桌面工具。
    常用的平台包括 向日葵

    礼包 2021年11月7日
  • 嵌入式Linux Framebuffer怎么描点画线

    技术嵌入式Linux Framebuffer怎么描点画线这篇文章主要讲解了“嵌入式Linux Framebuffer怎么描点画线”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学

    攻略 2021年11月23日
  • 怎么理解TiDB兼容MySQL参数优化

    技术怎么理解TiDB兼容MySQL参数优化本篇内容介绍了“怎么理解TiDB兼容MySQL参数优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年11月8日
  • 租用美国服务器之前要考虑的因素

    技术租用美国服务器之前要考虑的因素作为主流海外服务器之一,美国服务器一直以相对低廉便宜的租用价格和充足的硬件资源被很多需要业务出海的用户所青睐,然而在众多的美国服务器租用服务商中如何要考虑哪些因素才能租用到符合要求机器呢

    礼包 2021年12月6日
  • Javaee与Javase有什么区别

    技术Javaee与Javase有什么区别本篇内容介绍了“Javaee与Javase有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年10月30日