You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将curl GET请求转为REST-Assured请求时用户名密码如何正确配置

问题原因及正确配置方案

核心错误点

  • 你错误将--user对应的HTTP Basic认证参数用formParam传递:formParam是用来传递POST请求表单参数的,GET请求根本不会携带表单参数,服务端自然无法识别认证信息
  • 未配置自动跟随重定向:你原curl请求加了--location参数会自动处理3xx重定向,REST Assured默认不会自动跟随重定向,这也是导致连接失败的常见原因
  • 日志未输出大概率是请求根本没发出去就报错,你可以把日志配置调整到请求构建前就生效排查问题

正确配置代码

基础请求验证写法

import static io.restassured.RestAssured.given;
import org.apache.http.HttpStatus;

public class ArtifactoryTest {
    public void testJfrogDownload() {
        String url = "https://repo.jfrog.org/artifactory/<REPO-KEY>/<GROUPD-ID>/<ARTIFACT-ID>/<VERSION>-SNAPSHOT/file1.xml";
        given()
            .auth().basic("username", "password") // 正确配置Basic Auth
            .header("originating_ip", "127.0.0.1")
            .redirects().follow(true) // 开启自动跟随重定向,对应curl的--location参数
            .log().all()
        .when()
            .get(url)
        .then()
            .log().all()
            .assertThat().statusCode(HttpStatus.SC_OK);
    }
}

带文件下载的写法(对应原curl的--output参数)

如果你需要和原curl一样把响应的xml文件保存到本地,需要额外添加响应体处理逻辑:

import static io.restassured.RestAssured.given;
import org.apache.http.HttpStatus;
import java.io.FileOutputStream;
import java.io.IOException;

public class ArtifactoryTest {
    public void testJfrogDownload() throws IOException {
        String url = "https://repo.jfrog.org/artifactory/<REPO-KEY>/<GROUPD-ID>/<ARTIFACT-ID>/<VERSION>-SNAPSHOT/file1.xml";
        byte[] responseBytes = given()
            .auth().basic("username", "password")
            .header("originating_ip", "127.0.0.1")
            .redirects().follow(true)
            .log().all()
        .when()
            .get(url)
        .then()
            .log().all()
            .assertThat().statusCode(HttpStatus.SC_OK)
            .extract()
            .asByteArray();
        
        // 写入本地文件,对应curl的--output jrog_test_output
        try (FileOutputStream fos = new FileOutputStream("jrog_test_output")) {
            fos.write(responseBytes);
        }
    }
}

内容的提问来源于stack exchange,提问作者Aavik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:54:02