使用Apache HTTP发送POST/GET请求

POST请求

方法一,直接传入Instream

public static String post(String url, InputStream instream){
        try {
        //该Request是org.apache.http.client.fluent.Request;
            HttpEntity entity = Request.Post(url)
                    .bodyStream(instream,ContentType.create("text/html", "UTF-8"))
                    .execute().returnResponse().getEntity();
            return entity != null ? EntityUtils.toString(entity) : null;
        } catch (Exception e) {
            logger.error("post请求异常," + e.getMessage() + "\n post url:" + url);
            e.printStackTrace();
        }
        return null;
    }

方法二,传入普通json字符串

private static String httpPost(String url, String data) {
        try {
            HttpEntity entity = Request.Post(url)
                    .bodyString(data,ContentType.create("text/html", "UTF_8"))
                    .execute().returnResponse().getEntity();
            return entity != null ? EntityUtils.toString(entity) : null;
        } catch (Exception e) {
            logger.error("post请求异常," + e.getMessage() + "\n post url:" + url);
            e.printStackTrace();
        }
        return null;
    }

GET请求

private static String httpGet(String url) {
        try {
            HttpEntity entity = Request.Get(url).
                    execute().returnResponse().getEntity();
            return entity != null ? EntityUtils.toString(entity) : null;
        } catch (Exception e) {
            logger.error("get请求异常," + e.getMessage() + "\n get url:" + url);
            e.printStackTrace();
        }
        return null;
    }

文件上传

public static String postFile(String url,String name,File file){
        try {
            HttpEntity reqEntity = MultipartEntityBuilder.create().addBinaryBody(name, file).build();
            Request request = Request.Post(url);
            request.body(reqEntity);
            HttpEntity resEntity = request.execute().returnResponse().getEntity();
            return resEntity != null ? EntityUtils.toString(resEntity) : null;
        } catch (Exception e) {
            logger.error("postFile请求异常," + e.getMessage() + "\n post url:" + url);
            e.printStackTrace();
        }
        return null;
    }

猜你喜欢

转载自blog.csdn.net/nethackatschool/article/details/51853334