我想用fiddler发送请求,并希望每隔一秒发送一次请求。有什么方法可以用fiddler来做这个。
我会用JMeter进行这类测试,但回答你的问题,这里是我从here得到的示例脚本
public static ToolsAction("Crawl Sequential URLs")
function doCrawl(){
var sBase: String;
var sInt: String;
sBase = FiddlerObject.prompt("Enter base URL with ## in place of the start integer", "http://www.example.com/img##.jpg");
sInt = FiddlerObject.prompt("Start At", "1");
var iFirst = int.Parse(sInt);
sInt = FiddlerObject.prompt("End At", "12");
var iLast = int.Parse(sInt);
for (var x=iFirst; x<=iLast; x++)
{
//Replace 's' with your HTTP Request. Note: \ is a special character in JScript
// If you want to represent a backslash in a string constant, double it like \\
var s = "GET " + sBase.Replace("##", x.ToString()) + " HTTP/1.0\r\n\r\n";
var b=false;
while(!b){
try{
FiddlerObject.utilIssueRequest(s);
b=true;
}
catch(e){
var iT = Environment.TickCount + 10000;
FiddlerObject.StatusText = "Waiting 10 sec because we have too many requests outstanding...";
while (iT > Environment.TickCount){ Application.DoEvents(); }
}
}
}
}
我会使用curl和批处理文件来做到这一点
从Fiddler中,选择一个或多个要重复的请求,然后转到“文件”>“导出会话”>“选定的会话”
现在编辑批处理文件,使其每60秒运行一次
:loop
<your curl commands exported from Fiddler>
timeout /t 60
goto loop
现在保存批处理文件并运行它!
我相信你可以做到,因为你可以用小提琴手写剧本。
无论如何,我建议您为此目的使用BURP - 您有内置选项可以轻松完成(例如转发器)。
请参阅http://portswigger.net/burp/和http://portswigger.net/burp/repeater.html(用于转发器)。