[英]AWS Gateway Lambda Cookies
我在尋找如何訪問發送到我的 AWS Lambda 的 cookie 的方法時遇到問題。 我有一個帶有 lambda 代理集成 (POST) 到我的 Lambda 的 API 網關。
從我的客戶端 java 程序中,我正在使用 body(Json) 和CookieStore
內的CookieManager
的HttpCookie
發出 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.