utilReplaceInRequest nie zastępuje ciągów w treści żądania HTTP w FiddlerCore
Zdaje się, że utilReplaceInRequest nie działa dla mnie w FiddlerCore.
Przesyłam plik do usługi w chmurze (Microsoft Azure). Widzę, że treść powiązanego żądania HTTP zawiera zawartość pliku. Muszę zamienić niektóre z tych treści (np. W treści żądania HTTP) przed załadowaniem pliku.
Stworzyłem program Visual Studio C # i zintegrowałem go z FiddlerCore. Używam metody utilReplaceInRequest zgodnie z dokumentacją Fiddlera:
outcome = session.utilReplaceInRequest(original_str, replace_str);
Console.WriteLine("result: " + outcome + "\n");
Dzieje się tak, że utilReplaceInRequest „wydaje się” działać, ponieważ zmienna wynikowa jest ustawiona na True, wielokrotnie wywołując utilReplaceInRequest. (Muszę zamienić wiele ciągów w treści, więc wielokrotnie wywołuję utilReplaceInRequest). Ale kiedy sprawdzam rzeczywistą zawartość pliku w usłudze w chmurze, są to oryginalne ciągi. Nic nie zostało wymienione. Próbowałem nawet wywołać session.GetRequestBodyAsString () po wywołaniu funkcji utilReplaceInRequest w FiddlerCore i zobaczyłem, że ciągi znaków zostały rzeczywiście „zmienione” w treści. Ale to „ciało” po prostu nie jest wysyłane do usługi w chmurze.
Ale co ciekawe - kiedy robię to samo w samym Fiddlerze (dostosowuję Reguły w funkcji „static function OnBeforeRequest (oSession: Session) {}”), to działa, a zmodyfikowana treść HTTP jest wysyłana do usługi w chmurze !
Czy jest jakaś opcja konfiguracji, którą muszę ustawić (być może w moim programie C #), aby FiddlerCore działał jak Fiddler?
Dziękuję Ci.
Stan
Odpowiedzi
Możesz spróbować ustawić:
session.bBufferResponse = true;
jak opisano w demonstracjach FiddlerCore tutaj .