关于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;  
}      

}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理