亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在使用 Java Jersey 客戶端發送請求時啟用 cookie?

如何在使用 Java Jersey 客戶端發送請求時啟用 cookie?

慕無忌1623718 2022-12-28 14:14:20
我需要向 API 發送獲取請求并獲取結果。我在我的項目中使用 Java,Jersey 庫,我決定使用 Jersey 客戶端來獲取數據。但是,該 API 返回一條錯誤消息,表明我應該啟用 cookie 來訪問該 API。當嘗試使用像郵遞員這樣的應用程序時,或者只是使用像 chrome 這樣的普通瀏覽器時,我可以獲得正確的響應。但是我找不到如何在 Java Jersey 客戶端對象中啟用 cookie。我搜索以了解如何在 Java Jersey 客戶端中啟用 cookie,但找不到任何相關資源。所以我無法嘗試任何解決方案。我的代碼非常簡單:    Client client = Client.create(); // Create jerseu client    WebResource webResource = client.resource(BASEURI +  EXCHANGEINFO); // create web resource with a specific URI    System.out.println(webResource             .accept("application/json")            .get(ClientResponse.class)            .getEntity(String.class)); // Write results to console根據此請求,我得到了上面提到的錯誤。如何在使用 Java Jersey 客戶端發送請求時啟用 cookie?
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

根據討論,我已經瀏覽了您提供的 API。實際上,api 在進行 rest 調用時提供了誤導性消息。如果您查看從 api 調用收到的錯誤消息的詳細信息,它說。

本網站 (api.pro.coinbase.com) 的所有者已根據您瀏覽器的簽名 (4e0a3c06895d89af-ua21) 禁止您訪問。

所以答案是什么 ?api 實際上希望調用應該從瀏覽器進行,并且每個瀏覽器都會發送一個名為“User-Agent”的標頭。看看什么是用戶代理。不過,我已經解決了你的問題,你可以查看下面的完整代碼。

import com.sun.jersey.api.client.Client;

import com.sun.jersey.api.client.ClientResponse;

import com.sun.jersey.api.client.WebResource;


public class TestGetCallByJersey {

  public static void main(String[] args) {

    String resourceUri = "https://api.pro.coinbase.com/products";

    try {

      Client client = Client.create();

      WebResource webResource = client.resource(resourceUri);

      ClientResponse response =

          webResource

              .accept("application/json")

              .header("User-Agent", "Mozilla/5.0")

              .get(ClientResponse.class);


      System.out.println("response status = " + response.getStatus());

      String result = response.getEntity(String.class);

      System.out.println("Output from api call .... \n" + result);

    } catch (Exception e) {

      e.printStackTrace();

    }

  }

}

目前,我已經在 Java 8 中進行了測試,并使用了以下 jar 文件。


jersey-client 版本 1.8 如果你使用 Maven,你可以在 pom.xml 中包含以下依賴項。


<dependency>

            <groupId>com.sun.jersey</groupId>

            <artifactId>jersey-client</artifactId>

            <version>1.8</version>

        </dependency>


查看完整回答
反對 回復 2022-12-28
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號