当前位置:编程学习 > JAVA >>

根据页面的网址链接个数,用ajax去后台请求数据,后台根据这个网址,用httpclient去网站采集数据,当页面连接很多时,如何让ajax sleep

[code=HTML]$(document).ready(function (){
$('input[name="enabled"]').each(function(){ //j假如>100个请求,能不能让它慢慢去服务器请求数据
var getUrl = $(this).val();
var inner = document.getElementById(getUrl).innerHTML;
if(getUrl!=null){
document.getElementById(getUrl).innerHTML='<center><img src="/images/loading_s.gif"/></center>';
$.ajax({
url:'DataServlet',
type:'get',
datatype:'html',
//data:all_str,
data: "method=getPrice&getUrl="+encodeURI(getUrl),
//timeout: 20000,
error:function(){
  document.getElementById(getUrl).innerHTML="<center>系统繁忙,请稍后再试!</center>"; 
},
success:function(msg){
document.getElementById(getUrl).innerHTML = msg;
}
})
}
    });
 }); 
就是说这个each里面同时会有N次去请求后台,当页面url过多(>100时),后台就崩掉了。请问有没有像java里的sleep方法,让每执行一次,等一分钟。网上查了个方法好像不行。
还有就是当短时间内请求过多时,网站会封用户的IP,请问这个改怎么解决。
即使不封Ip 请求过多时httpclient会报如下错
org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect 
...
最终获取不到网站内容。
求高手指点...困扰N久,不甚感激 --------------------编程问答-------------------- 第一次上csdn上面提问木有人回,失望地结贴...顺带给大家分享下我的解决方案!多代理
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,