Здравствуйте, люди StackOverflow,
Я новичок в Fiddler 2, но, похоже, я неплохо с этим справляюсь. Хотя у меня есть одна проблема, которую я не могу решить.
То, что я хочу сделать, на самом деле очень просто, я думаю. Я хочу перехватить запрос, позволить ему работать, но если ответ меня не устраивает, я хочу, чтобы он повторно отправил запрос и сделал первоначальный запрос несуществующим. Это с использованием FiddlerScript.
Почему это полезно: в случаях, когда вы отправляете запрос, но ответ каждый раз разный. и вы просто хотите правильный ответ.
Что у меня есть до сих пор:
static function OnBeforeResponse(oSession: Session)
{
if (oSession.uriContains("/stackoverflowexample"))
{
if(oSession.GetRequestBodyAsString().Contains("GetRandomItem"))
{
if(oSession.GetResponseBodyAsString().ToString().Contains("ItemID"))
{
var body = oSession.GetResponseBodyAsString();
var item = 0;
for(var i = 0; i< body.Length; i++)
{
if(i < body.Length -7)
{
if(body.Substring(i, 6) == "ItemID")
{
item= Convert.ToInt32(body.Substring(i+7,1));
}
}
}
MessageBox.Show(item.ToString());
if(item < 2536) //for example itemid must be higher than 2536
{
//STOP / MAKE this session nonexcistent
//RESEND CURRENT REQUEST to get new response
oSession.state = SessionStates.SendingRequest;
FiddlerObject.utilIssueRequest(oSession.oRequest.ToString());
}
}
}
}
}
Любое возможное решение с использованием Fiddlerscript приветствуется.
Спасибо сообществу Stackoverflow! (и разработчики Fiddler)