此文为转载,亲测有效。

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod; public class Test { private static volatile int number = 0;
private static final String url ="http://blog.csdn.net/chinacsharper/article/details/17514923"; /**
* @param args
*/
public static void main(String[] args) {
//简单的用一个线程池
ExecutorService es = Executors.newFixedThreadPool(30);
//线程的个数应该根据自家的网络来定.我家是10M网所以20个基本上就是上限了.
for(int i=0;i<20;i++){
Runnable r = new Runnable() {
public void run() {
refreshBlog();
}
};
es.submit(r);
}
} /**
* refreshBlog 这个方法是相应请求
* @author heinz_ho
* @return void
*/
public static void refreshBlog(){
HttpClient httpClient = new HttpClient();
GetMethod getMethod = new GetMethod(url);
getMethod.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 LBBROWSER");
//其实这里我也不太懂.我只是知道cookie的生成策略,但是因为 csdn会判断力过来的cookie是啥.必须加.
getMethod.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
//偷懒就用了一个死循环
while(true) {
try {
//这句话会造成阻塞因为想网络发起请求.
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.out.print("失败:" + getMethod.getStatusLine());
}
System.out.println("你已经刷新了:"+number++);
} catch (Exception e) {
System.out.print("请检查网络地址!");
} finally {
getMethod.releaseConnection();
}
}
} }

最新文章

  1. Mac下golang开发环境配置
  2. react4 props 解析
  3. 11个强大的Visual Studio调试小技巧
  4. ACM Yougth的最大化
  5. 使用C# WinForm窗体制作经理评分项目 ——S2 2.2
  6. php中的$_SERVER从哪来
  7. UART RS232 的CTS与RTS
  8. [python]百度语音rest api
  9. 第二章IPC——IPC与开启多进程
  10. JavaScript学习笔记——JS中的变量复制、参数传递和作用域链
  11. iOS开发之SDWebImage详解
  12. javascript之深入剖析this
  13. 侯捷STL学习(一)
  14. 关于 BigDecimal处理float、double数据
  15. 设计模式 --&gt; (14)中介者模式
  16. 重写URL
  17. CC1310 笔记
  18. EasyTouch5ForSiki学院
  19. nodejs process.memoryUsage() rss等参数啥含义
  20. HTML5 学习05—— 拖放(Drag 和 Drop)

热门文章

  1. hdu 5461 Largest Point 暴力
  2. JavaScript学习总结-技巧、有用函数、简洁方法、编程细节
  3. typedef和typename关键字
  4. yum -------包安装库
  5. Tips: compilation and creating new projects on Android 4.0
  6. 在aws ec2上使用root用户登录
  7. Android 自学之基本界面组件(下)
  8. 关于Eclipse Modeling Framework 实现模型驱动开发,第一部分
  9. windows共享文件夹如何让CentOS 6.5读取
  10. 【转载】Git的安装与使用