Http сессия в littleproxy
Как мы обрабатываем сессию http в littleproxy? Я читал о нескольких подходах, в которых можно использовать HTTP-куки, а другой - заголовки HTTP-аутентификации.
Поддерживает ли littleproxy обработку файлов cookie или заголовок аутентификации и отправляет ответ 401 на запрос клиенту браузера?
С другой стороны, подход с использованием файлов cookie зависит от веб-сервера. Пока веб-сервер не выделит его, он не будет доступен пользователю / браузеру.
Мне нужно реализовать сценарий, в котором мне нужно отслеживать взаимодействие каждого пользователя по HTTP-прокси и предоставлять конкретную обработку каждому пользователю в зависимости от его профиля, например, я могу заблокировать или удалить изображения с веб-страницы для данного пользователя, но разрешить их для других. Как отличить HTTP-трафик, генерируемый одним пользователем от другого.
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;
}
};
}
};