原生http封装

package com.xjca.online.util;

import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

import net.sf.json.JSONObject;

public class PubHttps {

	public static String postHttps(JSONObject  obj,String urls){
		
		try{
		URL url = new URL(urls);//""
        
        // 建立http连接
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        // 设置允许输出
        conn.setDoOutput(true);
        conn.setDoInput(true);
        // 设置不用缓存
        conn.setUseCaches(false);
        // 设置传递方式
        conn.setRequestMethod("POST");
        // 设置维持长连接
        conn.setRequestProperty("Connection", "Keep-Alive");
        //转换为字节数组
        byte[] data = (obj.toString()).getBytes();
        // 设置文件长度
        conn.setRequestProperty("Content-Length", String.valueOf(data.length));
        // 设置文件类型:
        conn.setRequestProperty("content-type", "application/json;charset=utf-8");

        // 开始连接请求
        conn.connect();
        OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
        out.write(obj.toString());
        out.flush();
        out.close();

        System.out.println("请求结果:"+conn.getResponseCode());

        // 请求返回的状态
        if (conn.getResponseCode() == 200) {
            System.out.println("连接成功");
            // 请求返回的数据
            InputStream in = conn.getInputStream();
            String a = null;
            try {
                byte[] data1 = new byte[in.available()];
                in.read(data1);
                // 转成字符串
                //a = new String(data1);
                a = new String(data1,"UTF-8");
                try{
                	
                	//CdcResult res=(CdcResult)obj.toBean(obj, CdcResult.class);
                	//res.getCaID();
                	return a;
                	//System.out.println(a);
                	//return a.substring(a.indexOf(":")+1,   a.lastIndexOf(",")    );
                	
                	
                }catch(Exception e){
                	//System.out.println("Ybs1:"+e.toString());
                	return null;
                }
              
            } catch (Exception e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
                //System.out.println(e1.printStackTrace());
                return null;
            }
        } else {
          System.out.println("!=200");
            return null;
        }

    } catch (Exception e) {
    	//System.out.println("Ybs2:"+e.toString());
    	return null;

    }
    
		
	}
	
public static String HttpsGet(String urls){
		
		try{
		URL url = new URL(urls);//""
        
        // 建立http连接
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        // 设置允许输出
        conn.setDoOutput(true);
        conn.setDoInput(true);
        // 设置不用缓存
        conn.setUseCaches(false);
        // 设置传递方式
        conn.setRequestMethod("GET");
        // 设置维持长连接
        conn.setRequestProperty("Connection", "Keep-Alive");
       
        // 设置文件类型:
        conn.setRequestProperty("content-type", "application/json;charset=utf-8");
        // 开始连接请求
        conn.connect();
        OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");

        out.flush();
        out.close();

        System.out.println("请求结果:"+conn.getResponseCode());

        // 请求返回的状态
        if (conn.getResponseCode() == 200) {
            System.out.println("连接成功");
            // 请求返回的数据
            InputStream in = conn.getInputStream();
            String a = null;
            try {
                byte[] data1 = new byte[in.available()];
                in.read(data1);
                // 转成字符串
                a = new String(data1);
                try{
                	
                	//CdcResult res=(CdcResult)obj.toBean(obj, CdcResult.class);
                	//res.getCaID();
                	return a;
                	//System.out.println(a);
                	//return a.substring(a.indexOf(":")+1,   a.lastIndexOf(",")    );
                	
                	
                }catch(Exception e){
                	//System.out.println("Ybs1:"+e.toString());
                	return null;
                }
              
            } catch (Exception e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
                //System.out.println(e1.printStackTrace());
                return null;
            }
        } else {
          System.out.println("!=200");
            return null;
        }

    } catch (Exception e) {
    	//System.out.println("Ybs2:"+e.toString());
    	return null;

    }
    
		
	}

}

 

注意:jsonObject经量使用阿里的fastjson去转换,hutool转换有问题

posted @ 2022-04-06 15:40  极地阳光-ing  阅读(69)  评论(0编辑  收藏  举报