Обработка различий параметров POST на идентичных URL-адресах в записи Fiddler?

Мне нужно записать, как мои клиентские скрипты действуют в стороннем веб-приложении. Поэтому я пытаюсь использовать Fiddler для записи трафика на машине третьей стороны, а затем запустить его здесь.

звучит здорово, но мои скрипты делают AJAX-вызовы ASPX (123.aspx), а вызовы используют только POST params, а не GET.

Это означает, что (123.aspx) URL-адреса запросов, записанные в Fiddler, идентичны, и воспроизведение не работает должным образом (каждый запрос AJAX соответствует первому записанный матч, а не тот, с тем же POST params).

 E.g. let's says the requests are recorded like this
 123.aspx [POST param: searchquery=xyz]
 123.aspx [POST param: searchquery=abc]

затем, когда я проигрываю файл SAZ, я всегда получаю ответ для 123.aspx [POST param: searchquery=xyz], даже если searchquery=abc.

Как я могу заставить Fiddler обрабатывать запросы по-разному, если параметры POST отличаются?

Я видел правила извлечения и был немного не уверен в них, документация Telerik не возвращает результатов для "извлечения"... они, что я нужно?

спасибо

1 ответов


см. вводной блоге для получения подробной информации о Fiddler автоответчика импорт для воспроизведения режим, который помогает решить некоторые проблемы, которые могут возникнуть при попытке воспроизведения ранее захваченного файла SAZ.

теперь режим "импорт для воспроизведения" не будет решать все возможные проблемы; например, если у вас есть несколько сообщений на один и тот же URL-адрес, но их порядок не такой же, как был захвачен при попытке воспроизвести случае, они будут воспроизводиться в неправильном порядке и все будет сломано.


С Скрипач Книги:

Сопоставление С Телами Запросов

в некоторых случаях сайт может использовать один и тот же URL-адрес запроса для многих несвязанных операций, указывая требуемую операцию в теле запроса вместо URL-адреса. Вы можете расширить условие соответствия, чтобы изучить сообщение или поместить тело запроса, указав URLWithBody: префикс для вашего матча Состояние. При использовании этого префикса часть строки до первого символа пробела используется как условие соответствия для URL-адреса запроса, а остальная часть строки используется как условие соответствия для строкового представления тела запроса. По соображениям производительности необходимо указать URL-адрес условия соответствия как можно более узко, чтобы минимизировать количество тел запросов, которые должен оценить автоответчик. Если запрос не имеет тела, он не будет соответствовать любой URLWithBody правило.

ваше условие соответствия может указать EXACT:, NOT: и REGEX: префиксы как для URL, так и для тела. Например:

URLWithBody:upload.php TextToFindInBody
URLWithBody:login.php EXACT:Action=Login
URLWithBody:ping.php NOT:POST Data I Do Not Care About
URLWithBody:EXACT:https://example.com/upload.php REGEX:^.+TextToFind.*$
URLWithBody:REGEX:^.+/upload.php.*$ REGEX:^.+TailOfPOST$

имейте в виду, что большинство сообщений из веб-форм кодируют текст, поэтому вы должны убедиться, что ваше условие соответствия учитывает такую кодировку. Например, чтобы соответствовать следующему сообщению:

POST http://www.enhanceie.com/sandbox/FileForm.asp HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 54

2=This+is+some+text&fileentry2=&_charset_=windows-1252

ваше условие соответствия должно быть:

URLWithBody:/sandbox/FileForm.asp This+is+some+text