【问题标题】:Http session in littleproxylittleproxy 中的 Http 会话
【发布时间】:2014-06-05 02:33:33
【问题描述】:
我们如何处理 littleproxy 中的 http 会话?我读到了几种方法,其中一种可以使用 HTTP cookie,另一种是 HTTP 身份验证标头。
littleproxy 是否支持 cookie 处理或是否支持身份验证标头并向浏览器客户端发送质询响应 401?
另一方面,Cookie 方法取决于 Web 服务器。在网络服务器分配它之前,用户/浏览器将无法使用它。
我需要实现一个场景,我需要跟踪每个用户在 HTTP 代理上的交互,并根据每个用户的配置文件为每个用户提供特定的处理,例如我可以为给定用户阻止或删除网页中的图像,但允许其他用户使用它们。如何区分一个用户与另一个用户生成的 HTTP 流量。
【问题讨论】:
标签:
cookies
session-cookies
basic-authentication
httpsession
little-proxy
【解决方案1】:
我认为使用 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;
}
};
}
};