gpt4 book ai didi

java - 放心测试-API请求401错误请求

转载 作者:行者123 更新时间:2023-12-02 10:45:48 24 4
gpt4 key购买 nike

我在通过 postman 或 Java 库“io.restassured”发送 API 请求时遇到问题。当我在 UI 上执行相同的操作时,请求返回正确的响应,但是当我通过 postman 或 java 代码尝试相同的操作时,我得到:

401 Bad request

Your browser sent an invalid request.

java代码

       public static void main(String[] args) {

String requestUrl = "exampleBaseUrl/app/reports/api/rest/v1/graphs?context=shipper&reports_type=freights";

Response response = RestAssured.given().relaxedHTTPSValidation().header("x-csrf-token", "18ea65e740eb0ddddadf0ef435d92564").
when().
get(requestUrl);
}

我认为身份验证有问题,因为在开发工具中我可以看到对 CSRF_token 的 Get 请求,它看起来像这样:

token 的端点:

/login?get_csrf_token

对于这个请求,我得到以下响应:

{"csrf_token":"18ea65e740eb0ddddadf0ef435d92564"}

我不知道如何解决这个问题,我还尝试通过向 token 的端点发送 get 请求来通过 java 代码获取 token /login?get_csrf_token这个得到了我的 HTML 响应,其中输入了空的用户名和密码。

最佳答案

错误 401 表示您的请求未经授权。

对于授权,通常在登录时会给您一个 token ,您必须将其保存在缓存/本地内存中,并且每当您与服务器通信时,您都必须将其添加到请求 header 中(供您自己介绍)到服务器)

在您的情况下,您似乎可以在登录后从 /login?get_csrf_token 获取 token 。请注意,您不需要登录服务授权。

现在,从服务器获取 token 后,如何将其添加为请求 header ? See REST Assured Documentation

关于java - 放心测试-API请求401错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52595133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com