utilReplaceInRequest не заменяет строки в теле HTTP-запроса в FiddlerCore
utilReplaceInRequest, похоже, не работает у меня в FiddlerCore.
Я загружаю файл в облачный сервис (Microsoft Azure). Я вижу, что тело связанного HTTP-запроса содержит содержимое файла. Мне нужно заменить часть этого содержимого (например, в теле HTTP-запроса) перед загрузкой файла.
Я создал программу Visual Studio C # и интегрировал ее с FiddlerCore. Я использую метод utilReplaceInRequest согласно документации Fiddler:
outcome = session.utilReplaceInRequest(original_str, replace_str);
Console.WriteLine("result: " + outcome + "\n");
Происходит то, что utilReplaceInRequest "кажется" работает, поскольку для переменной результата устанавливается значение True, когда я несколько раз вызываю utilReplaceInRequest. (Мне нужно заменить несколько строк в теле, поэтому я вызываю utilReplaceInRequest несколько раз). Но когда я проверяю фактическое содержимое файла в облачной службе, это исходные строки. Ничего не заменено. Я даже попытался вызвать session.GetRequestBodyAsString () после вызова utilReplaceInRequest в FiddlerCore и увидел, что строки действительно были «изменены» в теле. Но это «тело» просто не отправляется в облачную службу.
Но что интересно - когда я делаю то же самое в самом Fiddler (настраиваю правила в функции «static function OnBeforeRequest (oSession: Session) {}»), он работает, и измененное тело HTTP отправляется в облачную службу. !
Есть ли какой-то параметр конфигурации, который мне нужно установить (возможно, в моей программе на C #), чтобы FiddlerCore работал как Fiddler?
Спасибо.
Стэн
Ответы
Вы можете попробовать установить:
session.bBufferResponse = true;
как описано в демонстрациях FiddlerCore здесь .