zoukankan      html  css  js  c++  java
  • Java接口自动化测试(二) — POST请求

    1、创建获取了解客户端的工具
    2、创建post请求
    3、添加请求头
    4、封装请求参数
    5、将参数添加到请求实体
    6、执行请求得到响应结果
    7、获取响应结果
    package com.test.httpclient;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.alibaba.fastjson.serializer.SerializerFeature;
    import org.apache.http.HttpEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    
    public class HttpClientPost {
          public static void main(String[] args) throws Exception{
            //创建一个获取连接客户端的工具
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //创建Post请求
            HttpPost httpPost = new HttpPost("http://localhost:8081/api/login");
            //添加请求头
            httpPost.addHeader("Content-Type","application/json;charset=UTF-8");
            //封装请求参数
            Map map = new HashMap();
            map.put("username","admin");
            map.put("password","123");
            JSONObject jsonString = new JSONObject(map);
            StringEntity entity = new StringEntity(jsonString.toString(),"UTF-8");
            //将封装的参数添加到Post请求中
            httpPost.setEntity(entity);
            //执行请求
            CloseableHttpResponse response =  httpClient.execute(httpPost);
            //获取响应的实体
            HttpEntity responseEntity = response.getEntity();
            //转化成字符串
            String entityString = EntityUtils.toString(responseEntity);
            //转换成JSON格式输出
            JSONObject jsonObject =  JSONObject.parseObject(entityString);
            String  string = JSON.toJSONString(jsonObject,SerializerFeature.PrettyFormat);
            //打印返回结果
            System.out.println(jsonObject.get("code"));
        }
    }
  • 相关阅读:
    博客美化
    hello world
    mysql数据库索引
    Golang:线程 和 协程 的区别
    计算机网络详解
    Redis持久化机制
    nginx 详解
    多级缓存的分层架构
    svn忽略文件不提交至服务器的方法
    Mysql 事务及其原理
  • 原文地址:https://www.cnblogs.com/liho/p/13224191.html
Copyright © 2011-2022 走看看