Set<Cookie> allCookies = driver.manage().getCookies(); try { CookieStore cookiestore = new BasicCookieStore(); for (@SuppressWarnings("rawtypes") Iterator iterator = allCookies.iterator(); iterator.hasNext();) { Cookie cookie = (Cookie) iterator.next(); BasicClientCookie bcookie = new BasicClientCookie(cookie.getName(), cookie.getValue()); bcookie.setDomain(cookie.getDomain()); bcookie.setExpiryDate(cookie.getExpiry()); bcookie.setPath(cookie.getPath()); cookiestore.addCookie(bcookie); } new File(cookieSavePath).mkdirs(); File file = new File(cookieSavePath + "/cookie.file" + cookieNumber++); FileOutputStream fos = new FileOutputStream(file); ObjectOutputStream oos = new ObjectOutputStream(fos);// 写入的文件是以二进制文件存储 System.out.println("cookile:" + cookiestore); oos.writeObject(cookiestore); oos.close(); fos.close(); // 读cookie if (file.exists()) { FileInputStream fin = null; try { fin = new FileInputStream(file); } catch (FileNotFoundException e1) { e1.printStackTrace(); } CookieStore cookieStore = null; ObjectInputStream in; try { in = new ObjectInputStream(fin); cookieStore = (CookieStore) in.readObject(); System.out.println(cookieStore); in.close(); } catch (IOException e) { } catch (ClassNotFoundException e) { } // System.out.println(cookieStore); List<org.apache.http.cookie.Cookie> l = cookieStore.getCookies(); for (org.apache.http.cookie.Cookie temp1 : l) { Cookie cookie = new Cookie(temp1.getName(), temp1.getValue(), temp1.getDomain(), temp1.getPath(), temp1.getExpiryDate(), false); System.out.println(cookie); } } } catch (IOException e) { System.out.println("IOException,add " + temp + " to uselessList!"); uselessList.add(temp); }
private static String GetCookies() { String cookieStr=""; File file = new File(cookiePath + "/cookie.file1"); // 读cookie if (file.exists()) { FileInputStream fin = null; try { fin = new FileInputStream(file); } catch (FileNotFoundException e1) { e1.printStackTrace(); } CookieStore cookieStore = null; ObjectInputStream in; try { in = new ObjectInputStream(fin); cookieStore = (CookieStore) in.readObject(); System.out.println(cookieStore); in.close(); } catch (IOException e) { System.out.println(e); } catch (ClassNotFoundException e) { System.out.println(e); } List<org.apache.http.cookie.Cookie> l = cookieStore.getCookies(); String tempstr=""; for (org.apache.http.cookie.Cookie temp1 : l) { Cookie cookie = new Cookie(temp1.getDomain(),temp1.getName(), temp1.getValue(), temp1.getPath(), temp1.getExpiryDate(), false); tempstr=cookie.toString().substring(0, cookie.toString().indexOf("domain")); cookieStr+=tempstr; System.out.println(tempstr); } } cookieStr=cookieStr.substring(0,cookieStr.length()-1); System.out.println(cookieStr); return cookieStr; }