簡體   English   中英

AWS 網關 Lambda Cookie

[英]AWS Gateway Lambda Cookies

我在尋找如何訪問發送到我的 AWS Lambda 的 cookie 的方法時遇到問題。 我有一個帶有 lambda 代理集成 (POST) 到我的 Lambda 的 API 網關。

從我的客戶端 java 程序中,我正在使用 body(Json) 和CookieStore內的CookieManagerHttpCookie發出 http POST 請求。 此請求發送到我的 Lambda,其中正文被打印到控制台。 這工作正常,但不幸的是我不知道如何訪問隨 POST 請求發送的 cookie。 我正在使用 Java 8 和APIGatewayProxyRequestEvent來獲取正文。

有人可以就如何從APIGatewayProxyRequestEvent事件或其他解決方法中獲取 cookie 向我提供一些幫助嗎?

謝謝!

cookie 是在APIGatewayProxyRequestEvent對象 - request.Headers.Cookie內的APIGatewayProxyRequestEvent Headers中發送的。

重要的是解析 cookie,因為Headers值總是String

下面介紹了如何訪問它並創建一個鍵值HashMap以使其更易於使用。

String cookiesStr = request.getHeaders().getOrDefault("Cookie", "");
String[] cookiesArr = cookiesStr.split(";");

Map<String, String> cookiesMap = new HashMap<>();
String[] cookieSplits;

for(String cookie : cookiesArr) {
    cookieSplits = cookie.trim().split("=");
    cookiesMap.put(cookieSplits[0], cookieSplits[1]);
}

Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls().create();
logger.log("CookiesMap:\n" + gson.toJson(cookiesMap));

其輸出將如下所示:

CookiesMap:
{
    "TestCookie1": "value1",
    "TestCookie2": "value2"
}

暫無
暫無

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

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