package saccubus.net;
+import java.io.File;
import java.io.IOException;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.StringUtils;
/**
- *
+ * firefox3のCookieを扱います.
+ * @deprecated ユーザプロファイルの扱いがおかしいと思われる.
* @author yuki
*/
+@Deprecated
public class CookieWinFirefox3 extends Cookie {
- /// <summary>
- /// Firefox3 から user_session を取得。エラーが起こった場合、例外を投げずに空文字を返す
- /// </summary>
- /// <returns>user_session</returns>
+ /**
+ * Firefox3 から user_session を取得。
+ * @return ユーザセッション文字列.
+ * @throws IOException 取得失敗.
+ */
@Override
public String getUserSessionString() throws IOException {
- String user_session = "";
- try {
- String app_dir = System.getenv("APPDATA");
- if (app_dir == null || app_dir.isEmpty()) {
- return "";
+ final String appData = System.getenv("APPDATA");
+ if (StringUtils.isNotEmpty(appData)) {
+ File sqlist_filename = new File(appData + "\\Mozilla\\Firefox\\Profiles\\cookies.sqlite");
+ if (sqlist_filename.isFile()) {
+ final String dataStr = FileUtils.readFileToString(sqlist_filename, "US-ASCII");
+ final String userSession = cutUserSession(dataStr);
+ if (StringUtils.isNotEmpty(userSession)) {
+ return userSession;
+ }
}
- String sqlist_filename = app_dir + "\\Mozilla\\Firefox\\Profiles\\cookies.sqlite";
- if (!Path.isFile(sqlist_filename)) {
- return "";
- }
- String dataStr = Path.ReadAllText(sqlist_filename, "US-ASCII");
- user_session = CutUserSession(dataStr, sqlist_filename);
- return user_session;
- } catch (Exception e) {
- e.printStackTrace();
}
- return user_session;
+ throw new IOException("user session not found in firefox cookie");
}
}