Httpclient发送json请求

本文介绍如何使用HTTPClient发送包含JSON数据的POST请求。示例代码展示了创建请求、设置JSON参数、定义请求头及获取响应的过程。

一、Httpclient发送json请求

public String RequestJsonPost(String url){
    String strresponse = null;
    try{
        HttpClient hc = new DefaultHttpClient();
       HttpPost hp = new HttpPost(url);
       JSONObject jsonParam = new JSONObject();
       jsonParam.put("user","admin");
       jsonParam.put("password", "123456");
       //设置数据为utf-8编码
       StringEntity entity = new StringEntity(jsonParam.toString(),"utf-8");
       //设置请求编码
       entity.setContentEncoding("utf-8");
       //设置请求类型
       entity.setContentType("application/json");
       hp.setEntity(entity);
       //请求并得到结果
       HttpResponse result = hc.execute(hp);
       strresponse = EntityUtils.toString(result.getEntity(),"utf-8").trim();
    }catch(Exception e){
       e.printStackTrace();
}
return strresponse;
}

 

转载于:https://www.cnblogs.com/beitha/p/6747853.html

在Java中,使用HttpClient发送POST请求携带JSON数据通常涉及以下几个步骤: 1. 引入依赖:首先需要引入Apache HttpClient库,你可以通过Maven或Gradle将其添加到项目中。 ```xml <!-- Maven --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> // 或者最新的稳定版本 </dependency> <!-- Gradle --> implementation 'org.apache.httpcomponents:httpclient:4.5.13' ``` 2. 创建HttpClient实例:创建HttpClient对象来处理HTTP请求。 ```java CloseableHttpClient httpClient = HttpClients.createDefault(); ``` 3. 创建HttpPost对象:指定请求的URL,并设置Content-Type为application/json。 ```java HttpPost postRequest = new HttpPost("http://example.com/api endpoint"); StringEntity entity = new StringEntity(jsonData, ContentType.APPLICATION_JSON); postRequest.setEntity(entity); ``` 4. 设置实体:将JSON字符串转换成`StringEntity`,并将其设置为请求的实体。 5. 执行请求发送请求并获取响应。 ```java HttpResponse response; try { response = httpClient.execute(postRequest); StatusLine statusLine = response.getStatusLine(); // 检查状态码,如200表示成功 if (statusLine.getStatusCode() == HttpStatus.SC_OK) { HttpEntity responseBody = response.getEntity(); // 对响应体做进一步处理,如解析JSON } else { // 处理错误情况 } } finally { // 关闭连接 EntityUtils.consume(responseBody); httpClient.close(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值