线程池 http请求
package com.aibi.cmdc.test; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; public class Demo { /** * Main * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // 如果不设置,只要代理IP和代理端口正确,此项不设置也可以 // System.setProperty("http.proxySet", "true"); // System.getProperties().setProperty("http.proxyHost", // "proxy.om"); // System.getProperties().setProperty("http.proxyPort", "8080"); // System.out.println(doGet()); final String urlNameString ="http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=649145636"; // String urlNameString ="http://www.hao123.com/?tn=39005028_243_hao_pg"; // HttpUtil.doGet(urlNameString); // String postUrl = "http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx/qqCheckOnline"; // Map<String, String> params = new HashMap<String, String>(); // params.put("qqCode", "649145636"); // HttpUtil.doPost(postUrl, params); // ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); // for (int i = 0; i < 10; i++) { // final int index = i; // try { // Thread.sleep(index * 1000); // } catch (InterruptedException e) { // e.printStackTrace(); // } // cachedThreadPool.execute(new Runnable() { // public void run() { // System.out.println(index); // try { // HttpUtil.doGet(urlNameString); // } catch (Exception e) { // e.printStackTrace(); // } // } // }); // } ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(2); scheduledThreadPool.scheduleAtFixedRate(new Runnable() { @Override public void run() { try { HttpUtil.doGet(urlNameString); } catch (Exception e) { e.printStackTrace(); } } }, 1, 3, TimeUnit.SECONDS); } /** * Get Request * @return * @throws Exception */ public static String doGet() throws Exception { String urlNameString ="http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=649145636"; String result = ""; BufferedReader in = null; try { URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } }