2012-05-23 64 views
0

我已經用Jsoup寫了一個Java代碼或從網站https://widgets.vodafone.com中提取了一些數據。這是通過使用Firefox插件'Live HTTP Headers'讀取頭文件並在登錄時傳遞它們來完成的。雖然它完美運行,但會話每兩天過期一次。我寫這個代碼的主要座右銘(這是它的完全自動化)還沒有達到。Jsoup:Session在一段時間後過期

如果我使用新的「身份驗證ID」和「Cookie ID」重新登錄並更新代碼,代碼將再次開始工作。

有人可以告訴我如何讓它工作。

P.S.我爲網站developer.getjar.com做了同樣的事情,它的功能就像一個魅力。至今沒有給我任何問題。

感謝, 阿倫

回答

0

某些cookies有一個到期日期。對此,你無能爲力,只能控制HTTP 403異常。發生時,重新執行「登錄」過程。

loginMethod(); 

while(true) { 

    if(expired()) 
     loginMethod(); 

    if(processingOver()) 
     break; 

    //Processing 

} 
+0

它重定向我到一個網頁,其中說,當我看到的過期日期的cookie,而使用Live HTTP頭「你使sesion已過期」 :( ,是一個月以後..這就是爲什麼我不能瞭解爲什麼發生這種情況 – aa8y

+0

剛剛編輯我的答案使其更清晰由於您沒有通知代碼很多,我嘗試以可理解的方式命名方法 –

+0

我知道我提出的問題的方式並不明確,但因爲我沒有自己的代碼(我在一家IT公司工作),所以我不能在這裏修改它,但我會盡量讓它更清楚。最初,我使用firefox登錄並記下Cookie Id和身份驗證令牌(這是沃達豐網站獨家)和其他數據。這些是過期的,因爲我必須改變他們每當我無法使用代碼登錄。如果我使用firefox註銷網站,cookie ID和身份驗證令牌變得無用,我必須再次更改。所以我只是關閉窗口。 – aa8y