• 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 子类的返回值类型是String 同意吗?
    当重写的父类的返回值类型是子类的返回值类型的父类的时候返回值类型就可以不同 比如父类的返回值是Object 子类的返回值类型是String 同意吗
    重写后的方法与被重写的方法的返回值一样吗?
    java中,一个类实现某个接口,必须重写接口中的所有方法吗
    java方法重写返回值类型
    field
    JAVA父类引用指向子类的对象意思
    io模型
    操作系统面试题整理
    java并发问题
  • 原文地址:https://www.cnblogs.com/zeze/p/5826270.html
Copyright © 2020-2023  润新知