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);
}