Изменить ответ, используя ядро ​​Fiddler

Я пытаюсь перехватить ответ и изменить тело ответа конкретного URL-адреса. Я могу обновить строку в содержании HTML, но когда я проверяю в браузере, я не могу найти изменения, которые я сделал.

я использую это для изменения ответа

private void FiddlerApplication_BeforeResponse(Session oSession)
 {
   //if (!oSession.fullUrl.ToLower().Contains(txtCaptureUrl.Text.Trim().ToLower()))
   //    return;

   if (oSession.fullUrl.ToLower().Contains("localhost"))
       return;

   //Search and replace in HTML.
   if (oSession.fullUrl.ToLower().Contains("prohance"))
      {
    if (oSession.HostnameIs("10.10.10.199") && oSession.oResponse.headers.ExistsAndContains("Content-Type", "text/html"))
       {
         oSession.bBufferResponse = true;
         // Remove any compression or chunking
         oSession.utilDecodeResponse();
         var oBody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
         //oBody = ReplaceFirst(oBody, "</script>", "<script type='text/javascript'>alert(123)</script>");
         oBody = ReplaceFirst(oBody, "ATTENDANCE", "RAVIKANTH");
         oSession.utilSetResponseBody(oBody);
         oSession.utilDecodeResponse();
         var oBody1 = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
   }
   return;
   }
 }

public string ReplaceFirst(string text, string search, string replace)
 {
    int pos = text.IndexOf(search);
      if (pos < 0)
       {
         return text;
       }
      return text.Substring(0, pos) + replace + text.Substring(pos + search.Length);
  }

когда я отлаживаю, я вижу, что ответ был изменен, но когда я проверяю в обзоре, я не могу увидеть желаемый результат, в чем может быть проблема Прежде чем изменить респон

После изменения респона

1 ответ

Наконец я решил это..

я просто пропустил настройку oSession.bBufferResponse = true; на событие beforeRequest..

FiddlerApplication.BeforeRequest += FiddlerApplication_BeforeRequest;

private void FiddlerApplication_BeforeRequest(Session oSession)
 {
   oSession.bBufferResponse = true;
 }
Другие вопросы по тегам