https://www.cnblogs.com/mambahyw/p/7875142.html
***********************************************************
通过httpclient的post方法发送json参数进行接口测试。借鉴知乎上“云层”的提供的方法。
作者:云层
链接:https://www.zhihu.com/question/30878548/answer/121149629
来源:知乎
链接:https://www.zhihu.com/question/30878548/answer/121149629
来源:知乎
把要发送的json作为字符串传入body即可
public static String sendHttpPost(String url, String body) throws Exception { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); httpPost.addHeader("Content-Type", "application/json"); httpPost.setEntity(new StringEntity(body)); CloseableHttpResponse response = httpClient.execute(httpPost); System.out.println(response.getStatusLine().getStatusCode() + " "); HttpEntity entity = response.getEntity(); String responseContent = EntityUtils.toString(entity, "UTF-8"); System.out.println(responseContent); response.close(); httpClient.close(); return responseContent; }
我的测试代码示例:
public static void main(String[] args) { //测试公司的API接口,将json当做一个字符串传入httppost的请求体 String result = null; HttpClient client = HttpClients.createDefault(); URIBuilder builder = new URIBuilder(); URI uri = null; try { uri = builder.setScheme("http") .setHost("xxx.xxx.xxx.xxx:xxxx") .setPath("/api/authorize/login") .build(); HttpPost post = new HttpPost(uri); //设置请求头 post.setHeader("Content-Type", "application/json"); String body = "{"Key": "","Secret": ""}"; //设置请求体 post.setEntity(new StringEntity(body)); //获取返回信息 HttpResponse response = client.execute(post); result = response.toString(); } catch (Exception e) { System.out.println("接口请求失败"+e.getStackTrace()); } System.out.println(result); }