CookieStore之Cookie的获取与保存
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; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!