2011-04-04 163 views
0

我想從servlet發送請求到j_security_check,並從響應中獲取auth cookie。代碼:對j_security_check的請求僅在右參數中返回408錯誤

String url = "http://someserver:8080/j_security_check?j_username=user&j_password=qwerty"; 
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); 

如果我把錯誤的AUTH參數然後響應我得到一個錯誤的默認登錄頁面,但如果我把正確的身份驗證參數我有服務器代碼408怎麼了?

回答

6

要獲得j_security_check Tomcat服務器上的一些資源權威性,有必要實現三個步驟:

  1. 發送GET請求所需的私有資源,響應你得到一個cookie(頁眉「設置的cookie」 。
  2. 與餅乾
  3. 發送請求(步驟1)至j_security_check在響應你應該得到的代碼302 - 「已暫時移動」
  4. 現在你可以重複請求與相同的cookie的私有資源,在性反應的你。需要的資源數據
+0

我認爲應該澄清的是,這個步驟序列需要實施,因爲在認證servlet檢查客戶端的活動會話之前。如果此會話過期或根本沒有會話(如果對j_security_check的請求是初始請求),則服務器將返回HTTP錯誤408請求超時。 – 2015-05-19 06:21:15