Java 网关获取 Cookies 并转换为 Cookie[] 数组
要将从网关获取的 cookies 转换为 Cookie[],需要按照以下步骤进行:
-
从网关获取 cookies 字符串,可以使用 HttpServletRequest 的 getHeader 方法来获取,例如:
String cookiesString = request.getHeader('Cookie'); -
将 cookies 字符串按照分号分隔符进行分割,得到每个 cookie 的字符串,例如:
String[] cookieStrings = cookiesString.split(';'); -
对于每个 cookie 的字符串,按照等号分隔符进行分割,得到 cookie 的名称和值,例如:
String[] cookieParts = cookieString.split('='); String cookieName = cookieParts[0].trim(); String cookieValue = cookieParts[1].trim(); -
创建一个 Cookie 对象,将 cookie 的名称和值设置进去,例如:
Cookie cookie = new Cookie(cookieName, cookieValue); -
将所有的 Cookie 对象放入一个 Cookie[] 数组中,例如:
Cookie[] cookies = new Cookie[cookieStrings.length]; for (int i = 0; i < cookieStrings.length; i++) { String[] cookieParts = cookieStrings[i].split('='); String cookieName = cookieParts[0].trim(); String cookieValue = cookieParts[1].trim(); Cookie cookie = new Cookie(cookieName, cookieValue); cookies[i] = cookie; } -
将 Cookie[] 数组作为 HttpServletRequest 对象的参数设置进去,例如:
request.setCookies(cookies);这样,在后续的程序中,就可以通过 HttpServletRequest 对象的 getCookies 方法获取到所有的 Cookie 了。
原文地址: https://www.cveoy.top/t/topic/ovnC 著作权归作者所有。请勿转载和采集!