Unirest Headers 请求 Body

Unirest Headers Request Body

我有一个关于使用 header 发出 Unirest 请求的快速问题。

我正在使用 NOAA API 访问天气信息。他们要求您发送包含以下内容的 header,但它在 CURL 中,我需要帮助将其转换为 Java 以发出 Unirest 请求:

curl -H "token:<token>" "url"
$.ajax({ url:<url>, data:{<data>}, headers:{ token:<token> } })

如果有帮助,这是文档的 URL: https://www.ncdc.noaa.gov/cdo-web/webservices/v2#gettingStarted

这是我尝试访问的端点: https://www.ncdc.noaa.gov/cdo-web/api/v2/datatypes/

这可能是一件非常简单的事情,但我一辈子都弄不明白!

提前感谢您的帮助!

Unirest 实际上 并不令人生畏。您需要做的就是将令牌值设置为 header 即可。您可以使用此代码段:

HttpResponse<JsonNode> response = null;

try {
    response = Unirest.get("https://www.ncdc.noaa.gov/cdo-web/api/v2/datatypes")
            .header("token", "YOUR_TOKEN_HERE")
            .asJson();
} catch (UnirestException e) {
    //Uh oh!
    e.printStackTrace();
}

System.out.println(response.getBody());

如果您希望检索为 String,您可以将 HttpResponse<JsonNode> 替换为 HttpResponse<String>,将 asJson() 替换为 asString()

您可以找到更多有用的信息here