HttpClient之get请求返回cookie信息+携带这个cookie和form-data格式的参数访问post接口

本文介绍了如何利用Moco框架模拟接口,通过HttpClient发送GET请求获取Cookie,并在后续POST请求中携带Cookie和form-data参数进行测试。详细过程包括Moco框架的配置、application.properties设置、TestNG测试方法的编写以及服务启动与测试执行。
摘要由CSDN通过智能技术生成

一.moco框架mock接口信息

[
  {
    "description": "这是一个能返回cookies信息的get请求",
    "request": {
      "uri": "/getCookies",
      "method": "get"
    },
    "response": {
      "cookies": {
        "login": "true"
      },
      "text": "成功获取到cookies信息啦"

    }
  },
  {
    "description": "这是一个携带cookie和form-data数据的post请求",
    "request": {
      "uri": "/post/with/cookieform",
      "method": "post",
      "cookies": {
        "login": "true"
      },
      "forms": {
        "name": "lucy",
        "age": "18"
      }
    },
    "response": {
      "status": 200,
      "json": {
        "status": "0",
        "cookie": "success",
        "lucy": "success"
      }
    }
  }
]

二.application.properties配置文件信息

test.url=http://localhost:8080
getCookies.uri=/getCookies
test.get.with.cookies=/get/with/cookie
test.get.with.cookiesAndParams=/get/with/cookieparam
test.post.with.cookiesAndJsonData=/post/with/cookie
test.post.with.cookiesAndFormData=/post/with/cookieform

三.编写testNG测试方法

package com.course.httpclient.cookies;

import org.apache.http.HttpEntity;
import o
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中使用POST请求调用参数格式form-data接口可以使用Apache HttpClient库来实现。下面是一个示例代码: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.File; import java.io.IOException; public class FormPostRequestExample { public static void main(String[] args) throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("http://example.com/api"); File file = new File("file.txt"); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody("file", file, ContentType.DEFAULT_BINARY, file.getName()); HttpEntity multipart = builder.build(); httpPost.setEntity(multipart); CloseableHttpResponse response = httpClient.execute(httpPost); HttpEntity responseEntity = response.getEntity(); System.out.println("Response status: " + response.getStatusLine()); System.out.println(EntityUtils.toString(responseEntity)); httpClient.close(); } } ``` 在上述代码中,我们创建了一个CloseableHttpClient实例,并构造了一个HttpPost对象来表示我们要访问的API的URL。我们还创建了一个File对象来表示我们要上传的文件。 接下来,我们使用MultipartEntityBuilder类来构造一个包含文件数据的HttpEntity对象。我们将文件数据添加到MultipartEntityBuilder实例中,然后将其构建为HttpEntity实例,并将其设置为HttpPost对象的实体。 最后,我们使用HttpClient实例来执行HttpPost请求,并将响应数据打印到控制台上。 请注意,上述示例代码仅适用于上传文件的情况。如果您需要向API发送其他类型的数据,请根据API文档中提供的信息构造正确的HttpEntity对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值