0

/*我在下面的代码中手动传递了会话cookie。当我在邮递员中传递会话cookie时,它工作正常,但在eclipse中它给出401 HTTP错误。我很新,请放心。如果有什么问题,请告诉我代码。我也附上了错误在此处输入图像描述*/

import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;

import java.security.KeyStore;
import java.security.cert.X509Certificate;

import javax.security.cert.CertificateException;

import org.apache.http.HttpResponse;
import org.apache.http.conn.ssl.SSLContextBuilder;
import org.apache.http.conn.ssl.SSLContexts;
import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.testng.annotations.Test;

import com.sun.net.ssl.SSLContext;

import io.restassured.RestAssured;
import io.restassured.response.Response;
import io.restassured.response.ValidatableResponse;
public class getart {

    @Test

    public void Test1()
    {
        // TODO Auto-generated method stub

        //baseURL or Host

        RestAssured.useRelaxedHTTPSValidation();
        RestAssured.baseURI="https://localhost";

        given().

            param("Cookie","JSESSIONID=B1FAC334FF60F7182D4C552ABE01A700; hi.session.co.entity=1838-PROD1; hi.session.id.identifier=xHmvClBuIBcSKAEiVP~~AAAESADWaUjq; hi.session.client.identifier=1838Viewer").
            when().
            get("/hi-prod/3.1.12/al/api/articles")
           .then().assertThat().statusCode(200).
            body("status",equalTo("OK")).log().body();


    }

}  
4

1 回答 1

1

param()用于向 URL 添加查询参数 - 这不是您想要设置 cookie 的内容。必须在请求标头中设置 Cookie。

相反,您应该使用cookie()or cookies()放心的 wiki有一个关于如何设置 cookie 的部分。请注意,您需要根据您的示例设置四个 cookie。

编辑:根据评论添加,

方法一

Cookie cookie1 = Cookie.Builder("JSESSIONID", "B1FAC334FF60F7182D4C552ABE01A700").build();
Cookie cookie2 = Cookie.Builder("hi.session.co.entity", "1838-PROD1").build();
Cookie cookie3 = Cookie.Builder("hi.session.id.identifier", "xHmvClBuIBcSKAEiVP~~AAAESADWaUjq").build();
Cookie cookie4 = Cookie.Builder("hi.session.client.identifier", "1838Viewer").build();
Cookies cookies = new Cookies(cookie1, cookie2, cookie3, cookie4);

given().cookies(cookies)
       .when().get("/hi-prod/3.1.12/al/api/articles")

方法二

given().header("Set-Cookie", "JSESSIONID=B1FAC334FF60F7182D4C552ABE01A700; hi.session.co.entity=1838-PROD1; hi.session.id.identifier=xHmvClBuIBcSKAEiVP~~AAAESADWaUjq; hi.session.client.identifier=1838Viewer"")
       .when().get("/hi-prod/3.1.12/al/api/articles")
于 2018-01-18T09:46:10.823 回答