• Java接口测试get请求,使用httpClient获取cookies+携带获取的cookies访问get接口


    public class MyCookiesForGet {
        private String url;
        private ResourceBundle bundle;
        //用来存储cookies信息的变量
        private CookieStore cookieStore;
        @BeforeTest
        public void beforeTest(){
            bundle = ResourceBundle.getBundle("application", Locale.CHINA);
            url = bundle.getString("test.url")+bundle.getString("getCookie.uri");
        }
        @Test
        public void test1() throws IOException {
            String result;
            cookieStore = new BasicCookieStore();
            HttpGet get = new HttpGet(this.url);
            CloseableHttpClient client = HttpClients.custom().setDefaultCookieStore(cookieStore).build();
            HttpResponse response = client.execute(get);
            result = EntityUtils.toString(response.getEntity(),"utf-8");
            System.out.println(result);
            // 获取cookies信息
            List<Cookie> cookies = cookieStore.getCookies();
            for(Cookie cookie:cookies){
                String name = cookie.getName();
                String value = cookie.getValue();
                System.out.println("cookies key ="+name+",cookies value ="+value);
            }
    
        }
        @Test(dependsOnMethods = {"test1"})
        public void test2() throws IOException {
            String uri = bundle.getString("test.get.with.cookies");
            String testUrl = bundle.getString("test.url")+uri;
            CookieStore cookieStore = new BasicCookieStore();
            HttpGet httpGet = new HttpGet(testUrl);
            // 设置cookies信息
         //区别于上一个get请求client方法,这边使用this.cookieStore是直接使用存储的cookie
    CloseableHttpClient client = HttpClients.custom().setDefaultCookieStore(this.cookieStore).build(); CloseableHttpResponse response = client.execute(httpGet); // 获取响应的状态码 int statusCode = response.getStatusLine().getStatusCode(); System.out.println("statusCode = " + statusCode); if(statusCode == 200){ String result = EntityUtils.toString(response.getEntity(),"utf-8"); System.out.println(result); } } }
  • 相关阅读:
    Java虚拟机基础
    排序系列之插入排序
    排序系列之冒泡排序
    成为优秀程序员的10个要点
    23个适合Java开发者的大数据工具和框架
    成为一个更优秀的开发者的10种方式
    Mybatis自动生成实体类
    Maven-SSM项目pom.xml配置以及springmvc配置以及mybatis配置及web.xml配置
    SSM项目layui分页实例
    图书管理系统(毕业论文)
  • 原文地址:https://www.cnblogs.com/habo/p/15769033.html
Copyright © 2020-2023  润新知