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;
        }
  • 相关阅读:
    [JavaScript]使用setTimeout减少多余事件
    Spring.NET教程(二)——环境搭建(基础篇) (转)
    IIS开启GZIP压缩效率对比及部署方法 (转)
    提高表格操作的十五款jQuery插件
    SQLServer和Oracle常用函数对比
    [hystar整理]Entity Framework 教程
    Remoting方法重载遇到的一个问题
    异变: input的背景background
    实时股票数据接口
    发现并解决ASP.NET内存耗尽(OOM),让服务器"永不重启"
  • 原文地址:https://www.cnblogs.com/zeze/p/5826270.html
Copyright © 2011-2022 走看看