OSDN Git Service

cookie処理コミット漏れ
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / cookie / CookieWinFirefox.java
1 package yukihane.inqubus.cookie;
2
3 import java.io.File;
4 import java.io.IOException;
5 import org.apache.commons.lang.StringUtils;
6
7 /**
8  * WindowsのFirefox(4以降) cookie ディレクトリを決め打ちして扱います.
9  * @author orz (saccubus)
10  * @author yuki
11  */
12 class CookieWinFirefox extends Cookie {
13
14     /**
15      * Firefox4以降から user_session を取得。
16      * @return ユーザセッション文字列.
17      * @throws IOException 取得失敗.
18      */
19     @Override
20     protected String getNicoUserSession() throws IOException {
21         final String appData = System.getenv("APPDATA");
22         if (StringUtils.isNotEmpty(appData)) {
23             final File dir = new File(appData + "/Mozilla/Firefox/Profiles/");
24             final File[] userLists = dir.listFiles();
25             for (File profileDir : userLists) {
26                 final File sqliteFile = new File(profileDir, "cookies.sqlite");
27                 if (sqliteFile.isFile()) {
28                     final String user_session = getUserSession("US-ASCII", sqliteFile);
29                     if (StringUtils.isNotEmpty(user_session)) {
30                         return user_session;
31                     }
32                     // else continue
33                 }
34             }
35         }
36         return "";
37     }
38 }