java中调用第三方接口的三种方式

HttpClient

public class HttpClientUtil {
    public static String get(String url){
        //创建请求方式
        HttpGet httpGet=new HttpGet(url);
//        HttpPost ;
//        HttpPut;
//        HttpDelete
        //创建客户端对象
        HttpClient client= HttpClientBuilder.create().build();
        //执行请求 获取响应对象
        try {
            HttpResponse response=client.execute(httpGet);
            if(response.getStatusLine().getStatusCode()==200){
                //解析结果
                return EntityUtils.toString(response.getEntity());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

   
}

OKHttpClient

public class OkHttpUtil {
    public static String get(String url){
        //创建客户端对象
        OkHttpClient client=new OkHttpClient();
        //创建请求对象
        Request request=new Request.Builder().url(url).get().build();
        //获取响应
        Call call=client.newCall(request);
        //同步
        try {
           Response response= call.execute();
           return response.body().string();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    public static String getWxPay(String url,String auth){
        //创建客户端对象
        OkHttpClient client=new OkHttpClient();
        //创建请求对象
        Request request=new Request.Builder().url(url).get()
                 .addHeader("Authorization"," WECHATPAY2-SHA256-RSA2048 "+auth).build();
        //获取响应
        Call call=client.newCall(request);
        //同步
        try {
            Response response= call.execute();
            return response.body().string();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    //post
    public static String postJson(String url,String data){
        //创建客户端对象
        OkHttpClient client=new OkHttpClient();
        //创建请求的传递参数
        RequestBody rb=RequestBody.create(data,MediaType.parse("application/json;charset=UTF-8"));
        //创建请求对象
        Request request=new Request.Builder().url(url).post(rb).addHeader("Accept","application/json").build();
        //获取响应
        Call call=client.newCall(request);
        //同步
        try {
            Response response= call.execute();
            return response.body().string();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    public static String postJsonWxPay(String url,String data,String auth){
        //创建客户端对象
        OkHttpClient client=new OkHttpClient();
        //创建请求的传递参数
        RequestBody rb=RequestBody.create(data,MediaType.parse("application/json;charset=UTF-8"));
        //创建请求对象
        Request request=new Request.Builder().url(url).post(rb).
                addHeader("Accept","application/json")
                .addHeader("Authorization"," WECHATPAY2-SHA256-RSA2048 "+auth).build();
        //获取响应
        Call call=client.newCall(request);
        //同步
        try {
            Response response= call.execute();
            return response.body().string();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    public static String postKeyVal(String url,String kv){
        //创建客户端对象
        OkHttpClient client=new OkHttpClient();
        //创建请求的传递参数
        RequestBody rb=RequestBody.create(kv,MediaType.parse("application/x-www-form-urlencoded;charset=UTF-8"));
        //创建请求对象
        Request request=new Request.Builder().url(url).post(rb).build();
        //获取响应
        Call call=client.newCall(request);
        //同步
        try {
            Response response= call.execute();
            return response.body().string();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}

HttpURLConnection

public class HttpUtil {
    public static String get(String url) {
        try {
            //实例化资源对象
            URL myurl = new URL(url);
            //打开连接 获取连接对象
            HttpURLConnection huc = (HttpURLConnection) myurl.openConnection();
            //设置连接信息
            huc.setConnectTimeout(10000);
            //验证状态响应码
            if (huc.getResponseCode() == 200) {
                //接收相应数据
                String str = IOUtils.toString(huc.getInputStream());
                return str;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

 


版权声明:本文为Java_LXM原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。