Fiddler : Example for Request-body change script
피들러 스크립트 셈플 - 요청변조를 위한 스크립트 예제
▼ 사설
응답변조는 쉽게 이용하게 되어 있는데, 요청 변조는 까탈스럽게 되어 있어서 만들었다.
대충 처리한 코드... 품질따위.... 이 글은 어차피 메모용이니까!
static function OnBeforeRequest(oSession: Session) {
---- Blah blah ----
if ( oSession.HostnameIs("something domain url") ) {
if ( oSession.uriContains("/something path") ) { //
oSession["ui-bold"]="true";
//oSession["x-breakrequest"]="true"; // If you need use.
var strBody = oSession.GetRequestBodyAsString();
var price = "10";
strBody = ReplaceQueryParameter(strBody, "purchaseAmt", price);
strBody = ReplaceQueryParameter(strBody, "couponAmt", Number(GetQueryParameter(strBody, "totalAmt")) - Number(price));
oSession.utilSetRequestBody(strBody);
}
}
static function GetQueryParameter(rq:String, sName: String)
{
var re = new RegExp( "(" + sName + "=)(([^&]*)|$)");
return sName == null ? "" : rq.match(re)[2];
}
static function ReplaceQueryParameter(rq:String, sName: String, sValue: String)
{
var re = new RegExp( "(" + sName + "=)(([^&]*)|$)");
return rq.replace(re, sValue == null ? "" : "$1" + sValue);
}