Bearer ${Token},放置在HTTP头中发送

目录

前言

一、代码

总结


前言

今天对接接口时一个新的需求,token值需要在HTTP头部发送请求。


一、代码

public static String doHeaderGet(String url,Map<String, String> param,String token) throws Exception {
    StringBuffer sbf = new StringBuffer();
    String strRead = null;
    //参数拼接
    URIBuilder builder = new URIBuilder(url);
    if (param != null) {
        for (String key : param.keySet()) {
            builder.addParameter(key, param.get(key));
        }
    }
    URL uri = new URL(url);
    HttpURLConnection connection = (HttpURLConnection) uri.openConnection();
    //请求方式这边只能是get,因为这里param参数是直接拼接到url上
    connection.setRequestMethod("GET");
    connection.setDoInput(true);
    connection.setDoOutput(true);
    //header的参数
    connection.setRequestProperty("Content-Type", "application/json");
    connection.setRequestProperty("Authorization", "Bearer "+token);
    connection.connect();
    InputStream is = connection.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
    while ((strRead = reader.readLine()) != null) {
        sbf.append(strRead);
    }
    reader.close();
    connection.disconnect();
    String results = sbf.toString();
    return results;
}

public static String doHeaderPost(String serverURL,Map<String, String> param,String token) throws Exception {
    StringBuffer sbf = new StringBuffer();
    String strRead = null;
    URL url = new URL(serverURL);
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    connection.setRequestMethod("POST");//请求post方式
    connection.setDoInput(true);
    connection.setDoOutput(true);
    //header内的的参数在这里set。||connection.setRequestProperty("健, "值");
    connection.setRequestProperty("Content-Type", "application/json");
    connection.setRequestProperty("Authorization", "Bearer "+token);
    connection.connect();
    OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(),"UTF-8");
    //body参数在这里put到JSONObject中
    JSONObject parm = new JSONObject();
    if (param != null) {
        for (String key : param.keySet()) {
            parm.put(key, param.get(key));
        }
    }
    writer.write(parm.toString());
    writer.flush();
    InputStream is = connection.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
    while ((strRead = reader.readLine()) != null) {
        sbf.append(strRead);
    }
    reader.close();
    connection.disconnect();
    return sbf.toString();
}

总结

get方法是参数拼接加头部请求,post是传body加http头部请求。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

予风北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值