簡體   English   中英

放心測試-API請求401錯誤請求

[英]Rest assured testing - API request 401 bad request

我通過郵遞員或Java庫“ io.restassured”發送API請求時遇到問題。 當我在UI上執行相同的操作時,請求返回正確的響應,但是當我通過郵遞員或java代碼嘗試相同的操作時,我得到:

401錯誤的要求

你的瀏覽器發送了一個無效的請求。

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請求,它看起來像這樣:

令牌的端點:

/login?get_csrf_token

對於此請求,我得到以下響應:

{"csrf_token":"18ea65e740eb0ddddadf0ef435d92564"}

我不確定如何解決此問題,我還嘗試通過將get請求發送到令牌的端點/login?get_csrf_token來通過Java代碼獲取令牌,而這得到了我的HTML響應,其中包含空的用戶名和密碼輸入。

錯誤401表示您的請求未被授權。

為了獲得授權,通常在登錄時會給您一個令牌,您必須將該令牌保存在高速緩存/本地內存中,並且每當與服務器通信時,都必須在請求標頭中添加該令牌(用於您自己對服務器的介紹) )

在您看來,您可以在/login?get_csrf_token后從/login?get_csrf_token獲取令牌。請注意,您不需要登錄服務的授權。

現在,從服務器獲取令牌后,如何將其添加為請求標頭? 請參閱REST保證文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM