Java-перехват HTTP-запроса

Каков наилучший способ сделать это? Я попытался использовать ServerSocket и изменить порт настройки прокси-сервера для отправки всего трафика моей Java-программе. Ну, это соединяется, но я не могу прочитать запрос с clientSocket.readLine().

Я не хочу знать, как заставить мой код работать, поэтому я не буду публиковать код. Я хочу знать, как лучше всего перехватить HTTP-запрос на чтение. Я предполагаю, что воспользуюсь подходом, меняющим прокси-порт для перенаправления трафика в мое приложение (как это делают такие программы, как Burp Suite и WebScarab).

Другими словами, может ли кто-нибудь дать мне пример или псевдокод о том, как Burp Suite/WebScarab будет считывать HTTP-запросы, просто меняя порт прокси-сервера?

1 ответ

Попробуйте это.. и никогда не забывайте настраивать свой браузер.

ServerSocket ss=new ServerSocket(8080);
   while(true){
   Socket s=ss.accept();
   BufferedReader sin=new BufferedReader(new InputStreamReader(s.getInputStream()));
   String l=sin.readLine();
   System.out.println(l);
   URL url = new URL("http://your_URL");
   URLConnection urlCon = url.openConnection();

   BufferedReader src=new BufferedReader(new InputStreamReader(urlCon.getInputStream()));
   String srst;
   while ((srst=src.readLine()) != null)
   System.out.println(srst); 
     }
Другие вопросы по тегам