Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >HttpClient 发送Json

HttpClient 发送Json

作者头像
shengjk1
发布于 2018-10-24 07:26:30
发布于 2018-10-24 07:26:30
2.3K00
代码可运行
举报
文章被收录于专栏:码字搬砖码字搬砖
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    import com.fasterxml.jackson.databind.ObjectMapper;
    import msxf.model.People;
    import msxf.until.ImpalaJdbc;
    import msxf.until.NowDate;
    import org.apache.commons.configuration.PropertiesConfiguration;
    import org.apache.http.HttpStatus;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpUriRequest;
    import org.apache.http.client.methods.RequestBuilder;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
    import org.apache.http.impl.client.HttpClientBuilder;
    import org.apache.http.message.BasicHeader;
    import org.apache.http.protocol.HTTP;
    import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;

    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

   /**
     * Created by shengjk1  on 2016/6/23.
     */
    public class Main {
        private final static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(Main.class);
        private static long c =System.currentTimeMillis();

        public static void main(String[] args) {

            try {
                //impala 查询返回,peopleList
                List<People> peopleList= ImpalaJdbc.connImpala();
                Map ma=new HashMap();
                ma.put("sendtime", NowDate.nowDate());
                if(peopleList.size()==0){
                    logger.info("peopleList.size()==0");
                }
                ma.put("data",peopleList);
                ObjectMapper om=new ObjectMapper();
                PropertiesConfiguration pro =new PropertiesConfiguration("conf.properties");
                String serviceAddr=pro.getString("serviceAddr");
                logger.info("serviceAddr "+serviceAddr);

                //将对象变为json
                String jsonStr=om.writeValueAsString(ma);
    //          System.out.println(jsonStr);

                CloseableHttpResponse httpResponse=null;
                CloseableHttpClient httpClient= HttpClientBuilder.create().setRetryHandler(new DefaultHttpRequestRetryHandler()).build();

                //设置超时时间
                HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
                factory.setConnectTimeout(1000*60*6); //单位毫秒
                factory.setReadTimeout(1000*60*5);



                //解决中文乱码
                StringEntity stringEntity=new StringEntity(jsonStr,"UTF-8");
                stringEntity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
                HttpUriRequest httpUriRequest= RequestBuilder.post(serviceAddr).setEntity(stringEntity).build();

                httpResponse=httpClient.execute(httpUriRequest);
                logger.info(" 发送 ");
                int statusCode=httpResponse.getStatusLine().getStatusCode();
                if(statusCode== HttpStatus.SC_OK){
    //              HttpEntity entity = httpResponse.getEntity();
    //              InputStream in =entity.getContent();
                    logger.info("====文件传输服务器正常响应!");
                    long d =System.currentTimeMillis();
                    logger.info("结束 "+(d-c)/1000 +" s");

                }else {
                    logger.info("====文件传输服务器未正常响应!");

                }

            }catch (Exception e) {
                logger.error(e);

            }
        }
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年10月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Java爬虫】005-HttpClient学习笔记(补充:网页内容获取相关)
使用HttpClient可设置三种超时时间:RequestTimeout(获取连接超时时间)、ConnectTimeout(建立连接超时时间)、SocketTimeout(获取数据超时时间)。配置这三种超时时间,需要用到HttpClient的RequestConfig类中的方法custom(),该方法返回值为实例化的内部类Builder(配置器),其功能是配置先关请求的字段,还可以设置代理(proxy)、Cookie规范(cookieSpec)、是否允许HTTP相关认证等;
訾博ZiBo
2025/01/06
760
Salesforce作为REST Service供java访问
有的时候我们需要在其他平台上获取sfdc端的数据,比如做android项目需要访问sfdc数据,那样就需要Salesforce作为Service,java端通过http获取并对数据进行相关操作。步骤如下:
故久
2019/09/29
6970
Salesforce作为REST Service供java访问
聊聊HttpClient的重试机制
org/apache/http/client/HttpRequestRetryHandler.java
code4it
2023/10/12
8200
httpclient post发送json数组并解决json乱码问题
业务: 客户端发送json数据,服务端进行解析 client发送json格式: {"data":[{"name":"1;,a","id_no":"222,a","cellphone":"123141a","abode_detail":"213,a","emp_add":"werew3a","app_no":"111111111111a","create_time":"11a"},{"name":"张三","id_no":"null","cellphone":"null","abode_detai
shengjk1
2018/10/24
4.2K0
httpClient 发送压缩文件
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.lang.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpRe
shengjk1
2018/10/24
2.1K0
扫清盲点,如何正确的从HttpClient 3.x系统升级到HttpClient 4.x
如果周期比较长的项目,或者这个项目开发人员换过了好几拨人,很有可能出现一些奇怪的问题,比如一个项目中出现了多种Spring注入bean的方式,不同版本的jar冲突等等
全栈程序员站长
2022/09/15
1.9K0
扫清盲点,如何正确的从HttpClient 3.x系统升级到HttpClient 4.x
[享学Feign] 九、Feign + OkHttp和Feign + Apache HttpClient哪个更香?
代码下载地址:https://github.com/f641385712/feign-learning
YourBatman
2020/02/21
6.1K0
[享学Feign] 九、Feign + OkHttp和Feign + Apache HttpClient哪个更香?
如何让Apache HttpClient 支持SSL配置?
按照Httpclient的设计要求编写一个响应信息处理类,也可以使用匿名内部类或者Lambda表达式。
阿东
2024/05/08
7680
如何让Apache HttpClient 支持SSL配置?
HttpClient测试框架
HttpClient是模拟Http协议客户端请求的一种技术,可以发送Get/Post等请求。 所以在学习HttpClient测试框架之前,先来看一下Http协议请求,主要看请求头信息。
yuanyuan
2019/09/02
1.1K0
HttpClient测试框架
http请求方式-RestTemplate
oktokeep
2024/10/09
720
聊聊RestTemplate对HttpClient的适配
org/springframework/http/client/ClientHttpRequestFactory.java
code4it
2023/10/09
4320
聊聊RestTemplate对HttpClient的适配
http请求工具类 HttpClient4Util
1、依赖 <!-- httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.3.6</version> </dependency> 2、HttpClient4Util http请求工具类 点击查看代码 import lombok.extern.slf4j.Slf4j; import org.apach
化羽羽
2022/11/12
5200
WebService系列之HttpClient调用WebService接口
测试工具下载soapui测试 http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl package com.extra.credit.ut
SmileNicky
2021/03/17
4.8K0
WebService系列之HttpClient调用WebService接口
HttpClient使用总结
根据业务量级决定使用同步调用或异步调用:异步回调方式的并发性非常高,缺点是代码可读性一般,在开发中,我会首先选择同步实现,在遇到性能问题后再考虑优化为异步回调方式。在Spring项目中使用HttpClient时,可以借用FactoryBean的概念,编写自己的HttpClientFactoryBean,我在LeanJava中写了一个例子:link
阿杜
2018/08/06
1.2K0
HTTPClient和CloseableHttpClient
使用HttpClient发送请求的一般步骤 (1) 创建HttpClient对象。 (2)创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。 (3) 如果需要发送请求参数,可调用HttpGet同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,可调用setEntity(HttpEntity entity)方法来设置请求参数。 (4) 调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。 (5) 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。 (6) 释放连接。无论执行方法是否成功,都必须释放连接
全栈程序员站长
2022/07/25
1.6K0
CloseableHttpClient简单使用实例[通俗易懂]
import java.io.BufferedReader; import java.io.IOException; import java.nio.charset.Charset; import java.security.KeyManagementException; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException;
全栈程序员站长
2022/07/25
8740
Java发送Http请求(HttpClient)
HttpClient 是Apache HttpComponents 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是Apache HttpComponents 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
ha_lydms
2023/08/09
1K0
httpclient提交json参数
有一只柴犬
2024/01/25
2420
HttpClient介绍和使用
笔者在查找HttpClient的使用方法的时候,发现很多文章都使用了这句话,在这里引用一下。
石的三次方
2021/01/05
1K0
基于rest风格对Neo4j进行调用访问之———httpClient
1.什么是rest风格 不知道戳这里 2.什么是Neo4j 简单来说是一个图形数据库,是一种NOSQL型的。具体摸我 3.httpclient 访问 参考官网链接摸我。 代码如下: package neo4j.action; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import neo4j.config.RestTemplateConfiguration; import org.apach
MickyInvQ
2020/09/27
9410
基于rest风格对Neo4j进行调用访问之———httpClient
相关推荐
【Java爬虫】005-HttpClient学习笔记(补充:网页内容获取相关)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文