在littleproxy中的Http会话

时间:2013-10-31 16:52:47

标签: cookies session-cookies basic-authentication httpsession little-proxy

我们如何在littleproxy中处理http会话?我读了几种方法,其中一个可以使用HTTP cookie,另一个是HTTP身份验证头。

littleproxy是否支持cookie处理,还是支持身份验证标头并向浏览器客户端发送质询响应401?

另一方面,Cookie方法取决于Web服务器。在Web服务器分配之前,用户/浏览器将无法使用它。

我需要实现一个场景,我需要跟踪每个用户在HTTP代理上的交互,并根据其个人资料为每个用户提供特定的处理,例如我可以阻止或删除给定用户的网页图像,但允许其他人使用。如何区分一个用户生成的HTTP流量与另一个用户生成的HTTP流量。

1 个答案:

答案 0 :(得分:2)

我认为使用cookie是一个好主意,因为它们将被浏览器保留并随每个请求发送回代理。

您基本上需要添加过滤器并根据需要检查/插入Cookie:

    return new HttpFiltersSourceAdapter() {
        @Override
        public HttpFilters filterRequest(HttpRequest originalRequest) {
            return new HttpFiltersAdapter(originalRequest) {

                @Override
                public HttpResponse requestPre(HttpObject httpObject) {
                    if (httpObject instanceof HttpRequest) {
                        // check the cookie here
                    }
                    return super.requestPre(httpObject);
                }

                @Override
                public HttpObject responsePre(HttpObject httpObject) {
                    if (httpObject instanceof HttpResponse) {
                        HttpResponse response = (HttpResponse) httpObject;
                        response.headers().set(HttpHeaders.Names.SET_COOKIE, ServerCookieEncoder.encode("Content", "Some"));
                        return response;
                    } 

                    return httpObject;
                }
            };
        }
    };
相关问题