Встречается на собеседованиях • сегодня

Какие знаешь способы перехвата HTTP запроса

В Java есть несколько способов перехвата HTTP-запросов:

  1. Прокси-сервер (например, Fiddler, Charles) – перехватывает трафик между клиентом и сервером.

  2. Библиотеки для мокирования (MockWebServer, WireMock) – эмулируют сервер для тестирования:

java
MockWebServer server = new MockWebServer();
server.enqueue(new MockResponse().setBody("test"));
server.start();
  1. HTTP-клиенты с логгированием (OkHttp Interceptor):
java
OkHttpClient client = new OkHttpClient.Builder()
    .addInterceptor(chain -> {
        Request request = chain.request();
        System.out.println("Request: " + request.url());
        return chain.proceed(request);
    })
    .build();
  1. Снифферы пакетов (Wireshark, tcpdump) – анализируют сетевой трафик на низком уровне.

  2. Servlet Filter – для перехвата в веб-приложениях:

java
public class LogFilter implements Filter {
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
        HttpServletRequest httpReq = (HttpServletRequest) req;
        System.out.println("Request to: " + httpReq.getRequestURI());
        chain.doFilter(req, res);
    }
}

Выбор зависит от контекста: тестирование, отладка или мониторинг продакшена.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы