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)

相关推荐

  • JAVA虚拟机的几个命令行参数是什么

    技术JAVA虚拟机的几个命令行参数是什么这篇文章将为大家详细讲解有关JAVA虚拟机的几个命令行参数是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    攻略 2021年12月2日
  • 描写花草树木的成语,描写花草树木的成语有什么写三个

    技术描写花草树木的成语,描写花草树木的成语有什么写三个花草树木的成语描写花草树木的成语: 繁花似锦、绿草如茵、郁郁葱葱、古树参天、万木争荣、百花齐放 花团锦簇、万紫千红、桃红柳绿草木皆兵 寸草不生 百花齐放 百花争艳 遍

    生活 2021年10月24日
  • 如何掌握Redis场景设计

    技术如何掌握Redis场景设计这篇文章主要讲解了“如何掌握Redis场景设计”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何掌握Redis场景设计”吧!一、常用指令接下

    攻略 2021年10月26日
  • 双指针技巧总结

    技术双指针技巧总结 双指针技巧总结https://labuladong.gitee.io/algo/2/21/53/读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目:
    14

    礼包 2021年11月12日
  • 午饭用英语怎么说,该是吃午饭的时候了用英语怎么说

    技术午饭用英语怎么说,该是吃午饭的时候了用英语怎么说英语是:Its time for lunch.句子解释:time 英[taɪm] 美[taɪm] n. 时间; 次; 时代; 时刻; vt

    生活 2021年10月25日
  • MySQL常用拼接语句有哪些

    技术MySQL常用拼接语句有哪些这篇文章给大家分享的是有关MySQL常用拼接语句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.拼接查询所有用户SELECT DISTINCT

    攻略 2021年10月30日