提琴手自动应答器+正则表达式

时间:2014-02-16 22:28:49

标签: regex fiddler

我知道标题不是很具描述性,但这是我无法弄清楚的! 好的,我有类似以下网址的内容:

http://realsite.com/Stuff/start.ashx?blah=blah1&RandomStuffHere&blah=false

所以我需要重定向它或者提供我的网站:

http://My_Site.com/Stuff/newstart.ashx?blah=blah1&RandomStuffHere&blah=true

意识到我保持一切都是一样的,除了我改变了我的域名,以及最后的bool值。 我搜索过,搜索过,但仍无法找到有用的东西。

我目前正在尝试使用REGEX解决方案,但它不会让我在最后更改bool。 REGEX:.*/Stuff/start.ashx(.*)

因此,如果任何人都可以提供这样的东西,让我可以重新定向到我的网站,除了在最后更改bool之外,所有内容与新网址相同,我将永远欠你的债务! :d

提前谢谢你:)

1 个答案:

答案 0 :(得分:10)

Fiddler Auto Responder可能不适合你,URL中查询字符串参数和其他字符串的位置对正则表达式很重要。

替代

考虑使用FiddlerScript,您可以将流量重定向到您的域名,如下所示:

内部OnBeforeRequest

if (oSession.HostnameIs("realsite.com") && oSession.uriContains("Stuff/start.ashx")) {
    oSession.hostname = "My_Site.com";
    oSession.url = oSession.url.Replace("Stuff/start.ashx", "newstuff/start.ashx");
    oSession.url = oSession.url.Replace("&blah=false", "&blah=true");
}

虽然这个例子不是100%准确,但这应该让你朝着正确的方向前进。 这使您可以更好地控制操作复杂的URL,这些URL看起来很复杂。

自动回复

正则表达式看起来像这样,捕获URL的“随机”部分,假设blah=false总是在最后:

regex:(?insx)^http://realsite.com/Stuff/start.ashx?(.*)&blah=false$ #Match the query string always with blah=false at end

替换:

http://My_Site.com/Stuff/newstart.ashx?$1&blah=true

这是一个完整性的屏幕抓取: Screen grab of regex in place in Fiddler