乐趣区

关于spark:SparkESClickHouse-构建DMP用户画像一起学习

download:Spark+ES+ClickHouse 构建 DMP 用户画像

package wzh.Http;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;

public class HttpRequest {

/** 
 * 向指定 URL 发送 GET 办法的申请 
 *  
 * @param url 
 *            发送申请的 URL 
 * @param param 
 *            申请参数,申请参数应该是 name1=value1&name2=value2 的模式。* @return URL 所代表近程资源的响应后果 
 */ 
public static String sendGet(String url, String param) {  
    String result = "";  
    BufferedReader in = null;  
    try {  
        String urlNameString = url + "?" + param;  
        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;  
}  

/**  
 * 向指定 URL 发送 POST 办法的申请  
 *   
 * @param url  
 *            发送申请的 URL  
 * @param param  
 *            申请参数,申请参数应该是 name1=value1&name2=value2 的模式。* @return 所代表近程资源的响应后果  
 */  
public static String sendPost(String url, String param) {  
    PrintWriter out = null;  
    BufferedReader in = null;  
    String result = "";  
    try {URL realUrl = new URL(url);  
        // 关上和 URL 之间的连贯  
        URLConnection conn = realUrl.openConnection();  
        // 设置通用的申请属性  
        conn.setRequestProperty("accept", "*/*");  
        conn.setRequestProperty("connection", "Keep-Alive");  
        conn.setRequestProperty("user-agent",  
                "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");  
        // 发送 POST 申请必须设置如下两行  
        conn.setDoOutput(true);  
        conn.setDoInput(true);  
        // 获取 URLConnection 对象对应的输入流  
        out = new PrintWriter(conn.getOutputStream());  
        // 发送申请参数  
        out.print(param);  
        // flush 输入流的缓冲  
        out.flush();  
        // 定义 BufferedReader 输出流来读取 URL 的响应  
        in = new BufferedReader(new InputStreamReader(conn.getInputStream()));  
        String line;  
        while ((line = in.readLine()) != null) {result += line;}  
    } catch (Exception e) {System.out.println("发送 POST 申请出现异常!"+e);  
        e.printStackTrace();}  
    // 应用 finally 块来敞开输入流、输出流  
    finally{  
        try{if(out!=null){out.close();  
            }  
            if(in!=null){in.close();  
            }  
        }  
        catch(IOException ex){ex.printStackTrace();  
        }  
    }  
    return result;  
}      

}

退出移动版