httpclient之put 方法(参数为json类型)
出处:https://www.cnblogs.com/jshtest/p/9070711.html
package com.ftms.didan.info.test; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; import org.apache.http.NameValuePair; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPut; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.apache.poi.ss.formula.functions.T; import org.jeecg.common.api.vo.Result; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.ftms.didan.info.entity.DdInfo; public class Test { public static void main(String[] args) { JSONObject jsonObject = new JSONObject(); jsonObject.put("id", "1341637844113121282"); jsonObject.put("type", "history"); // jsonObject.put("password", "pdmi1234"); // String url = "http://192.168.1.161:8080/didan/info/ddInfo/list/queryPageDdInfoPublish?pageNo=1&pageSize=10"; // String url = "http://192.168.1.161:8080/didan/version/ddVersion/queryByVerstionType?type=android"; String url = "http://192.168.1.161:8080/didan/version/ddVersion/setVersion"; CloseableHttpClient closeableHttpClient = HttpClients.createDefault(); // 配置超时时间 RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(5000) .setConnectionRequestTimeout(5000) .setRedirectsEnabled(true) .build(); HttpPut httpPost = new HttpPut(url); //设置超时时间 httpPost.setConfig(requestConfig); httpPost.setHeader("Content-Type", "application/json"); httpPost.setHeader("X-Access-Token", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MDg3MjM1MDYsInVzZXJuYW1lIjoiZnRtc2FkbWluIn0.kAonFuVKswsrhAJI4VcrG9WPncYj6- WMmKsLQUW98II"); try { StringEntity entity = new StringEntity(jsonObject.toString(), "utf-8"); entity.setContentEncoding("utf-8"); entity.setContentType("application/json"); httpPost.setEntity(entity); //执行post CloseableHttpResponse closeableHttpResponse = closeableHttpClient.execute(httpPost); String strRequest = ""; if (null != closeableHttpResponse && !"".equals(closeableHttpResponse)) { System.out.println(closeableHttpResponse.getStatusLine().getStatusCode()); if (closeableHttpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity httpEntity = closeableHttpResponse.getEntity(); strRequest = EntityUtils.toString(httpEntity); System.out.println(strRequest); // 把字符串转换为json对象 // JSONObject json = JSON.parseObject(strRequest); // JSONObject result = json.getJSONObject("result"); // JSONArray arr = result.getJSONArray("records"); // List<DdInfo> errors = JSON.parseObject(arr.toJSONString(), new TypeReference<List<DdInfo>>() {}); // System.out.println(json); } else { strRequest = "Error Response" + closeableHttpResponse.getStatusLine().getStatusCode(); } } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (closeableHttpClient != null) { closeableHttpClient.close(); } } catch (IOException e) { e.printStackTrace(); } } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现