post和get请求调用Http接口并拿到数据

下面介绍几种调用HTTP接口拿到返回值的方法
第一种采用post请求调用接口
/**
* 发送Http post请求
*
* @param jsonInfo
* 调用接口所传的参数
* @param URL
* 请求url
* @return ResponseString
* 拿到的返回信息
* @throws Exception
*/
public static String doHttpPost(String URL,JSONObject jsonInfo) throws Exception {
System.out.println(“登录接口发起的数据:” + jsonInfo);

    InputStream instr = null;
    try {
        byte[] jsonData = jsonInfo.toString().getBytes("utf-8");
        URL url = new URL(URL);
        URLConnection urlCon = url.openConnection();
        urlCon.setDoOutput(true);//可以发生信息到URLConnection
        urlCon.setDoInput(true);//可以接受来自URLConnection的输入
        urlCon.setUseCaches(false);
        urlCon.setRequestProperty("content-Type", "application/json");//设置请求头
        urlCon.setRequestProperty("charset", "utf-8");
        urlCon.setRequestProperty("Content-length",String.valueOf(jsonData.length));
       logger.debug("登录接口所传参数长度:"+String.valueOf(jsonData.length));
        DataOutputStream printout = new DataOutputStream(urlCon.getOutputStream());
        printout.write(jsonData);
        printout.flush();
        printout.close();
        instr = urlCon.getInputStream();
        byte[] bis = IOUtils.toByteArray(instr);
        String ResponseString = new String(bis, "UTF-8");
        if ((ResponseString == null) || ("".equals(ResponseString.trim()))) {
            logger.debug("登陆接口返回空");
        }
        logger.debug("登录接口返回数据为:" + ResponseString);
        return ResponseString;

    } catch (Exception e) {
        logger.debug("登录接口发送的地址=" + URL + "登录接口发送的数据:" + jsonInfo + "登录接口发送数据失败:" + e.getMessage());
        throw new Exception( e.getMessage());
    } finally {
        try {
            instr.close();

        } catch (Exception ex) {
            return "0";
        }
    }
}

第二种采用get请求调用接口
/**
* 向指定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 = “http://”+url + “?” + param;
System.out.println(urlNameString);
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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值