[英]Extracting _WL_AUTHCOOKIE_JSESSIONID cookie
我在通過https檢索Weblogic上部署的應用程序的cookie時遇到問題。 我正在使用下面的代碼。
HttpURLConnection huc3= (HttpURLConnection) new URL(url1).openConnection();
huc3.setRequestMethod("POST");
BufferedReader in = new BufferedReader(
new InputStreamReader(huc1.getInputStream()));
huc3.setDoOutput(true);
DataOutputStream wr3 = new DataOutputStream(huc3.getOutputStream());
wr3.writeBytes("Username=abc&password=xyz");
wr3.flush();
wr3.close();
String thirdCookie = huc3.getHeaderField("Set-Cookie");
這里的問題是,我能夠檢索“ JSESSIONID”,但無法檢索“ _WL_AUTHCOOKIE_JSESSIONID”。 這是安全的cookie,需要進行后續的身份驗證呼叫。
我在Weblogic上部署的應用程序未啟用https,那么僅JSESSIONID會在身份驗證時生成,並且可以正常工作。
但是在HTTPS上,它會生成另一個我無法提取的cookie。
如果我使用cookie管理器並在獨立應用程序中執行
CookieManager cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cookieManager);
它工作正常。 但是我有以下問題:
1.我想知道如何使用CookieManger提取“ _WL_AUTHCOOKIE_JSESSIONID”嗎?
2:是的,如果我將此代碼放在Web應用程序中並在weblogic上部署,它將停止工作。 為什么?
找到第二個問題的解決方案。 基本上,我們必須在“ startWebLogic.cmd”中設置一個Java選項,以告訴weblogic不要使用Weblogic的httphandler,而是使用sun附帶的處理程序。 Weblogic的httphandler似乎沒有利用CookieManager和CookieHandler。
我設置以下選項。
設置JAVA_OPTIONS =%JAVA_OPTIONS%%JAVA_PROPERTIES%-DUseSunHttpHandler = true-Dwlw.iterativeDev =%iterativeDevFlag%-Dwlw.testConsole =%testConsoleFlag%-Dwlw.logErrorsToConsole =%logErrorsToConsoleFlag%
仍在尋找問題1的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.