httpClient 请求中加Json

package com.ckn.web.main;

import java.net.URLEncoder;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

public class HttpUtils {
    
    private static final String APPLICATION_JSON="application/json";
    private static final String CONTEXT_TYPE_TEXT_JSON="json";
    private static HttpClient httpClient;
    
    public static void httpPostWithJson(String url, String json) throws Exception{
        //0、当前我的服务器不需要对 json 字符进行转码
        //String encoderJson=URLEncoder.encode(json,HTTP.UTF_8);
        
        httpClient=new DefaultHttpClient();
        
        System.out.println(HTTP.CONTENT_TYPE+"***"+APPLICATION_JSON);
        //1、请求头配置   设置参数内容类型 Content-Type  这点很重要jackson根据请求头识别json请求
        HttpPost httpPost=new HttpPost(url);
        httpPost.addHeader(HTTP.CONTENT_TYPE,APPLICATION_JSON);
        
        //2、请求体的数据填充
        //StringEntity 是  HttpEntity接口的实现
        StringEntity strEn=new StringEntity(json);
        //strEn.setContentType(CONTEXT_TYPE_TEXT_JSON);
        //strEn.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,APPLICATION_JSON));
        httpPost.setEntity(strEn);
        
        //3、执行请求
        HttpResponse response= httpClient.execute(httpPost);
        HttpEntity entity=response.getEntity();
        System.out.println(EntityUtils.toString(entity));
    }
    
    public static void main(String[] args){
        String url="http://127.0.0.1:8088/app-crx/ex/api.do?reqType=effecDateAndEndDate";
        String json="[\"SHZVJ6SMHZ9U5TCLL\",\"SHZVJ6SMHZ9U5TCLL\",\"S0000000000000003\"]";
        try {
            httpPostWithJson(url,json);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("出现异常");
        }
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值