文档章节

线程池 http请求

穿林度水
 穿林度水
发布于 2016/11/07 14:28
字数 364
阅读 48
收藏 0
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;
    }
}

  

© 著作权归作者所有

上一篇: mysql windows安装
下一篇: esper 附录A
穿林度水
粉丝 0
博文 250
码字总数 167120
作品 0
海淀
程序员
私信 提问
tomcat 线程池优化

简介 线程池作为提高程序处理数据能力的一种方案,应用非常广泛。大量的服务器都或多或少的使用到了线程池技术,不管是用Java还是C++实现,线程池都有如下的特点: 线程池一般有三个重要参数...

yzy121403725
2017/10/23
0
0
Okhttp解析(三)网络连接的管理

上节我们讲解了Okhttp网络请求和响应的处理过程,其中我们知道了请求之前是需要建立网络连接的,也就是http请求是需要建立TCP连接之上的。这也是符合TCP/IP四层模型和OSI七层模型中,传输层的...

Ihesong
2017/11/08
0
0
详解tomcat的连接数与线程池--转载

一:前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 Tomcat配置文件server.xml中:Connector的主要功能,是接...

田心双木
2018/12/20
26
0
详解:tomcat的连接数与线程池

转自:http://www.cnblogs.com/kismetv/p/7806063.html前言在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 在前面...

goldfishe
2017/12/22
0
0
浏览器同域名请求的最大并发数限制

当我们在浏览网页的时候,对浏览速度有一个重要的影响因素,就是浏览器的并发数量。并发数量简单通俗的讲就是,当浏览器网页的时候同时工作的进行数量。 如果同时只有2个并发连接数数量,那网...

sunsky303
2018/04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

02.日志系统:一条SQL更新语句是如何执行的?

我们还是从一个表的一条更新语句说起,我们创建下面一张表: create table T(ID int primary key, c int); 如果要将ID=2这一行c的值加1,SQL可以这么写: update T set c=c+1 where ID=2; 前...

scgaopan
46分钟前
7
0
【五分钟系列】掌握vscode调试技巧

调试前端js 准备一个前端项目 index.html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1......

aoping
47分钟前
4
0
PhotoShop 高级应用:USM锐化/S锐化/防抖

、 高反差锐化+混合模式:叠加模式 【将更多的边缘细节添加到图像中】

东方墨天
57分钟前
7
0
Python数据可视化之matplotlib

常用模块导入 import numpy as npimport matplotlibimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport matplotlib.font_manager as fmfrom mpl_toolkits.mplot3d i......

松鼠大帝
昨天
5
0
我用Bash编写了一个扫雷游戏

我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个扫雷游戏来加以练习。 我在...

老孟的Linux私房菜
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部