有一个网站上有一些比赛的结果,但问题是我忘记了我的大厅票号。如果我在那里输入名字("测试"),并在大厅票号中加上"9245",它会显示结果,但对于那个大厅票号,它不会显示任何名字。但结果不是我的,我知道我的大厅票号是4位数。我想知道我是否可以编写一些程序,以便测试所有4位数字,并检查结果中显示的名称是否为=="Daksh"
,如果是,请返回大厅票号。这可能吗?此外,我检查了页面的来源,发现了一个链接的http://dreamscholarsleague.com/js/results.js
我能做点什么吗?这样我就能找到我的大厅票号码了?
像这样:
function check(i){
$.post('http://dreamscholarsleague.com/php/results.php', JSON.stringify({ hallticket:i, name: 'dfd'}))
.done(function(d){
try{
var result = JSON.parse(d)[0];
var name = result["studentName"].toLowerCase();
}
catch(e){
console.log("Parse error for "+i);
if(i<9999)check(i+1);
return;
}
if(name.indexOf("daksh")!==-1){
console.log("Found! " + result);
}
else{
console.log("Checked "+i);
if(i<9999)check(i+1);
}
})
.fail(function(){
console.log("[post] error "+i);
if(i<9999)check(i+1);
});
}
check(1000);
如果你能使用jquery:,你可以做这样的事情
function make_ajax(name,hallticket, max){
$.ajax({
url: "http://dreamscholarsleague.com/php/results.php",
type: "post",
data: '{"name":"'+name+'","hallticket":"'+hallticket+'"}',
dataType: 'json',
contentType: "application/json",
success: function(data){
var name = data[0]["studentName"];
console.log(name,hallticket);
if(name.indexOf("Daksh")!==-1){
alert("Found! " + hallticket);
}
},
complete:function(){
console.log(hallticket)
if(hallticket<max) make_ajax(name,hallticket+1,max)
}
});
}
make_ajax("Daksh",1000, 2500);
make_ajax("Daksh",2500, 5000);
make_ajax("Daksh",5000, 7500);
make_ajax("Daksh",7500, 10000);
不过需要一段时间。