zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    Object_Pascal_西门子SCL应用_系列1_初识SCL
    Windows程序设计零基础自学_5_GDI基础_之获取设备内容信息
    Windows程序设计零基础自学_1_Windows程序消息循环机制
    Delphi真的没落了吗?_说Delphi母语Pascal的另一个应用
    C语言学习趣事_关于C语言中的预处理
    C语言学习趣事_关于C语言中的输入输出流
    C语言学习趣事_关于C语言中的空格
    Windows程序设计零基础自学_4_Windows程序的显示和更新_之滚动条处理
    Windows程序设计零基础自学_5_GDI基础
    C语言学习趣事_经典面试题系列_1
  • 原文地址:https://www.cnblogs.com/zeze/p/5826270.html
Copyright © 2011-2022 走看看