1.http工具类

package com.funshion.common.utils;

import java.net.URI;
import java.net.URL;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * http工具类
 *
 * @author qiuwy
 *
 */
@SuppressWarnings({ "deprecation", "resource" })
public class HttpUtil {
    private static Logger logger = LoggerFactory.getLogger(HttpUtil.class);

/**
     * get
     *
     * @param url
     * @return
     * @throws Exception
     */
    public static HttpResVo doGet(String getUrl) throws Exception {
        URL url = new URL(getUrl);
        URI uri = new URI(url.getProtocol(), null, url.getHost(), url.getPort(), url.getPath(), url.getQuery(), null);
        HttpClient httpclient = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(uri);
        HttpResponse response = httpclient.execute(httpGet);

int httpCode = response.getStatusLine().getStatusCode();
        String result = EntityUtils.toString(response.getEntity());

logger.info("Get.url=" + uri + ",response code=" + httpCode + ",response entity=" + result);

return new HttpResVo(httpCode, result);
    }

/**
     * post
     *
     * @param url
     * @param params
     * @return 返回http code
     *
     */
    public static HttpResVo doPost(String url, String params) throws Exception {
        URL postUrl = new URL(url);
        URI uri = new URI(postUrl.getProtocol(), null, postUrl.getHost(), postUrl.getPort(), postUrl.getPath(), postUrl.getQuery(), null);
        
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(uri);
        
        StringEntity entity = new StringEntity(params, HTTP.UTF_8);
        entity.setContentType("application/json;charset=UTF-8");
        httpPost.setHeader("Accept", "application/json");
        httpPost.setEntity(entity);

HttpResponse response = httpclient.execute(httpPost);
        int httpCode = response.getStatusLine().getStatusCode();
        String result = EntityUtils.toString(response.getEntity());
        
        logger.info("Post.url=" + uri + ",response code=" + httpCode + ",response entity=" + result);
        
        return new HttpResVo(httpCode, result);

}

/**
     * 根据参数和url访问远程,得到返回值
     *
     * @return
     */
    protected HttpResVo getHttpResult(String url,String method,String parameter) throws Exception {
        if (StringUtils.isEmpty(method)) {
            logger.error("method is null.");
            return null;
        }

// get方法的处理
        if (method.equalsIgnoreCase(GET)) {
            StringBuffer _url = new StringBuffer(url);
            if (!StringUtils.isEmpty(parameter)) {
                _url.append("?").append(parameter);
                System.out.println(_url.toString());
            }
            return HttpUtil.doGet(_url.toString());
        } else {// post方法处理
            if (!StringUtils.isEmpty(parameter)) {

return HttpUtil.doPost(url, parameter);
            }
            logger.error("post method has parameter none.");
        }
        return null;
    }

}

2.http响应返回值

package com.funshion.common.utils;

/**
 * http响应返回值
 *
 * @author qiuwy
 *
 */
public class HttpResVo implements java.io.Serializable {

private int httpCode;
    private String result;

public HttpResVo() {

}

public HttpResVo(int httpCode, String result) {
        this.httpCode = httpCode;
        this.result = result;
    }

public int getHttpCode() {
        return httpCode;
    }

public void setHttpCode(int httpCode) {
        this.httpCode = httpCode;
    }

public String getResult() {
        return result;
    }

public void setResult(String result) {
        this.result = result;
    }

}

java http get和post请求的更多相关文章

  1. Java学习笔记--通过java.net.URLConnection发送HTTP请求

    http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...

  2. 通过java.net.URLConnection发送HTTP请求的方法

    一.前言 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求. Java有原生的API可用于发送HTTP请求,即java.net.URL.java.net.UR ...

  3. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...

  4. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求   Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java ...

  5. java 模拟浏览器发送post请求

    java使用URLConnection发送post请求 /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求 ...

  6. 通过java.net.URLConnection发送HTTP请求(原生、爬虫)

    目录 1. 运用原生Java Api发送简单的Get请求.Post请求 2. 简单封装 3. 简单测试 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求.Ja ...

  7. Java Servlet (1) —— Filter过滤请求与响应

    Java Servlet (1) -- Filter过滤请求与响应 版本: Java EE 6 参考来源: Oracle:The Java EE 6 Tutorial: Filtering Reque ...

  8. java学习-get和post请求

    摘要 看完本文可以知道,使用java原生编写get/post请求的步骤,进行网络请求时应该注意的地方. 这里使用java自带的HttpUrlConnection对象进行网络请求, 请求步骤大致分为五步 ...

  9. java接口如何有效防止恶意请求

    java接口如何有效防止恶意请求?已解决   解决方法: 1.在redis数据库db0中新建一个名为rd_sms_request_count表,表结构: Ip:客户请求的ip Success_coun ...

  10. 【SpringBoot】 Java中如何封装Http请求,以及JSON多层嵌套解析

    前言 本文中的内容其实严格来说不算springboot里面的特性,属于JAVA基础,只是我在项目中遇到了,特归纳总结一下. HTTP请求封装 目前JAVA对于HTTP封装主要有三种方式: 1. JAV ...

随机推荐

  1. bootstarp treeview 获取勾选和获取Selected选中

    在用treeview的时候,经常会遇到一些官网没有详细说明的东西,比如获取勾选和获取选中的方法,获取选中官网是有明显说明的, 如下 : $('#resourceTree').treeview('get ...

  2. java poi 读取有密码加密的Excel文件

    String excelPath = "Excel文件路徑"; String password = "Excel文件密碼"; Workbook workbook ...

  3. Redis(序)应用场景

    前言 在阅读了<大型网站技术架构:核心原理与案例分析>书后,稍微了解了Redis在大型网站架构中的应用场景和目的. 大型网站都是从小用户量,小流量的网站演变过来的,在小型网站的架构之初,L ...

  4. python爬取豆瓣电影首页超链接

    什么是爬虫?  我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛.把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息.可以把节点间的连线比作网页与网页之间的链 ...

  5. Java8 Lamda的基本使用

    Lamda的基本使用 https://www.cnblogs.com/htyj/p/10133883.html https://segmentfault.com/q/1010000011200292 ...

  6. sedlauncher.exe 磁盘爆满

    打开应用和功能,搜KB4023057,然后卸载. 快捷键WIN+R打开运行,输入services.msc回车打开系统服务,找到Windows Remediation Service (sedsvc)和 ...

  7. PIE SDK栅格矢量化算法

    1.算法功能简介 栅格数据矢量化较为复杂,如果由一幅扫描的数字化地图来建立矢量数据库,则需要经过数字图象处理,如边缘增强.细化.二值化.特征提取及模式识别才能获得矢量数据.人们通常将多色地图分色后逐个 ...

  8. One SQL to Rule Them All – an Efficient and Syntactically Idiomatic Approach to Management of Streams and Tables(中英双语)

    文章标题 One SQL to Rule Them All – an Efficient and Syntactically Idiomatic Approach to Management of S ...

  9. 高德地图的JSAPI学习笔记【一】

    高德地图的项目要做 学习笔记记录下来 一.注册账号并申请Key  二.准备页面写好 1.在页面添加 JS API 的入口脚本标签,并将其中「您申请的key值」替换为您刚刚申请的 key: <sc ...

  10. 实现HTML调用打开本地软件文件

    有时候我们想要实现一个功能,就是在HTML页面点击一个链接就能调用打开本地可执行文件.就像腾讯QQ.迅雷这种. 而实现这种功能其实也很简单,就是需要我们添加修改注册表,实现自定义URL Protoco ...