3 import static org.apache.commons.lang.StringUtils.*;
6 import java.io.IOException;
7 import java.util.ArrayList;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
13 * WindowsのChrome cookie ディレクトリを決め打ちして扱います.
14 * @author rankingloid (nicorank)
15 * @author hazychill (nicorank)
16 * @author orz (saccubus)
19 public class CookieWinCrome extends Cookie {
21 private static final Logger logger = LoggerFactory.getLogger(CookieWinCrome.class);
22 private static final String COOKIE_PATH = "/Google/Chrome/User Data/Default/Cookies";
25 * Chrome から user_session を取得。エラーが起こった場合、例外を投げずに空文字を返す
27 * @return user_session
30 public String getNicoUserSession() throws IOException {
31 final List<File> alters = new ArrayList<>();
34 final String localAppData = System.getenv("LOCALAPPDATA");
35 if (isNotEmpty(localAppData)) {
36 alters.add(new File(localAppData + COOKIE_PATH));
40 final String userProfile = System.getenv("USERPROFILE");
41 if (isNotEmpty(userProfile)) {
42 alters.add(new File(userProfile + "/Local Settings/Application Data" + COOKIE_PATH));
46 final String appData = System.getenv("APPDATA");
47 if (isNotEmpty(appData)) {
48 alters.add(new File(appData + COOKIE_PATH));
51 return getUserSession("UTF-8", alters.toArray(new File[0]));