OSDN Git Service

cookie処理コミット漏れ
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / cookie / CookieWinMsIe.java
1 package yukihane.inqubus.cookie;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.util.ArrayList;
6 import java.util.List;
7 import org.apache.commons.lang.StringUtils;
8
9 /**
10  * WindowsのMS IE(7以降)のcookieを扱います.
11  * @author rankingloid (nicorank)
12  * @author hazychill (nicorank)
13  * @author orz (saccubus)
14  * @author yuki
15  */
16 class CookieWinMsIe extends Cookie {
17
18     /** <p>
19      *  IE7/IE8/IE9 から user_session を取得。<br/>
20      *  エラーが起こった場合、例外を投げずに空文字を返す
21      *  </p>
22      *  @return user_session
23      */
24     @Override
25     protected String getNicoUserSession() throws IOException {
26
27         final String userProfile = System.getenv("USERPROFILE");
28
29         if (StringUtils.isNotEmpty(userProfile)) {
30             final List<File> searchDirs = new ArrayList<>();
31             // http://msdn.microsoft.com/en-us/library/aa385326(v=VS.85).aspx
32             searchDirs.add(new File(userProfile + "/AppData/Roaming/Microsoft/Windows/Cookies/Low/"));
33             searchDirs.add(new File(userProfile + "/AppData/Roaming/Microsoft/Windows/Cookies/"));
34             // これは何だ?
35             searchDirs.add(new File(userProfile + "/Cookies/"));
36
37             return getUserSession("MS932", searchDirs.toArray(new File[0]));
38         }
39         return "";
40     }
41 }