HttpURLConnection中请求头中携带Token的使用方法

简介: HttpURLConnection中请求头中携带Token的使用方法
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class TokenRequestExample {
    public static void main(String[] args) throws IOException {
        // 设置API地址
        String apiUrl = "
        // 设置Token
        String token = "your_token_here";
        // 创建URL对象
        URL url = new URL(apiUrl);
        // 打开连接
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        // 设置请求头中的Authorization字段
        connection.setRequestProperty("Authorization", "Bearer " + token);
        // 发送GET请求
        connection.setRequestMethod("GET");
        // 获取响应结果
        int responseCode = connection.getResponseCode();
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line;
        StringBuilder response = new StringBuilder();
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }
        reader.close();
        // 处理响应结果
        if (responseCode == HttpURLConnection.HTTP_OK) {
            System.out.println("请求成功!");
            System.out.println("响应内容:" + response.toString());
        } else {
            System.out.println("请求失败!");
            System.out.println("响应代码:" + responseCode);
            System.out.println("响应内容:" + response.toString());
        }
        // 关闭连接
        connection.disconnect();
    }
}

import java.net.HttpURLConnection;
/**
 * HttpGet请求
 * @param vurl:请求地址,map:{头部信息}
 * @return 返回消息
 */
public static String httpGet(String vurl,HashMap<String, Object> map) {
    try {
        URL url = new URL(vurl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        for (Map.Entry item : map.entrySet()) {
            connection.setRequestProperty(item.getKey().toString(),item.getValue().toString());//设置header
        }
        InputStream in = connection.getInputStream();
        InputStreamReader isr = new InputStreamReader(in, "utf-8");
        BufferedReader br = new BufferedReader(isr);
        String line;
        StringBuilder sb = new StringBuilder();
        while ((line = br.readLine()) != null) {
            sb.append(line);
        }
        br.close();
        isr.close();
        in.close();
        return sb.toString();
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

一般会在头部添加认证信息,如token值或BasicAuth认证的 Authorization值

HashMap<String, Object> tmap = new HashMap<String, Object>();
tmap.put("Authorization",authorization);//tmap.put("token","tonken值");
String vmsg= Comm.httpGet(vurl,tmap);//获取请求的返回结果


目录
打赏
0
1
2
0
71
分享
相关文章
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
GET 和 POST 请求的请求头有哪些常见字段
【10月更文挑战第27天】不同的应用场景和服务器要求可能会使用到其他一些请求头字段,这些字段在HTTP请求和响应的交互过程中起着重要的作用,帮助客户端和服务器更好地进行数据传输和处理。
请解释什么是 HTTP 请求头,以及在爬虫中为什么要设置请求头?
请解释什么是 HTTP 请求头,以及在爬虫中为什么要设置请求头?
331 2
HTTP请求中token、cookie、session有什么区别
HTTP请求中token、cookie、session有什么区别
333 0
Postman - 设置全局请求 header 信息
Postman - 设置全局请求 header 信息
3967 0
Postman - 设置全局请求 header 信息
Scrapy框架-模拟登录之JWT验证及post特殊格式数据(json)
一、背景 之前有记录过普通的scrapy模拟登录,这种方法可以满足了日常爬虫的登录需求。 但是技术一直在进步,近几年前后端分离的趋势越来越好,很多web都采用前后端分离的技术。
2167 0
NSMutableURLRequest实现Post访问
NSMutableURLRequest实现Post访问
100 0
restTemplate发送携带header参数的get和post请求demo
restTemplate发送携带header参数的get和post请求demo
260 0