读书人

Heritrix3.1.0RC1使用Cookie不能自动登

发布时间: 2012-07-08 17:43:43 作者: rapoo

Heritrix3.1.0RC1使用Cookie不能自动登录问题的一个解决办法

改FetchHTTP类,

?

1、在innerProcess方法中的代码

this.http.executeMethod(customConfigOrNull, method);

之前增加:

populateCookies(method);

?

2、增加私有方法如下:

    private void populateCookies(HttpMethodBase method) {        Map<String, Cookie> cookieMap = cookieStorage.getCookiesMap();                //没设置Cookie.        if(cookieMap == null || cookieMap.size() == 0) {            return;        }                StringBuilder sb = new StringBuilder("");        for(Cookie cookie : cookieMap.values()) {            sb.append(cookie.getName());            sb.append('=');            sb.append(cookie.getValue());            sb.append(';');        }        method.setRequestHeader("Cookie", sb.deleteCharAt(sb.length() - 1).toString());    }

?

3、修改AbstractCookieStorage类,在记录日志的代码之前增加

result.put(cookie.getSortKey(), cookie)

?把Cookie放入到Map中,在FetchHTTP的start()方法中,得到配置文件中设置的Cookies。

?

?

?

?

读书人网 >软件架构设计

热点推荐