zoukankan      html  css  js  c++  java
  • 线程池 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;
        }
    }
    
     
    

      

  • 相关阅读:
    图与图算法在实际中的应用
    python Tricks —— list 镜像复制与 list comprehension 列表解析的顺序
    C语言高速入门系列(五)
    Linked List Cycle
    poj 2689 Prime Distance(大区间筛素数)
    三层结构——理论篇
    史上最简单的Hibernate入门简单介绍
    [SQL]远程使用PostgreSQL Studio可视化查看PostgreSQL数据库
    MySQL建立双向主备复制server配置方法
    win2003的IIS無法使用,又一次安裝提示找不到iisadmin.mfl文件
  • 原文地址:https://www.cnblogs.com/clds/p/4911798.html
Copyright © 2011-2022 走看看