Chinaunix首页 | 论坛 | 博客
  • 博客访问: 604240
  • 博文数量: 298
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3077
  • 用 户 组: 普通用户
  • 注册时间: 2019-06-17 10:57
文章分类

全部博文(298)

文章存档

2022年(96)

2021年(201)

2019年(1)

我的朋友

分类: Java

2021-11-30 12:12:51


点击(此处)折叠或打开


  1. package org.fh.util;

  2. import org.json.JSONObject;

  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.net.HttpURLConnection;
  6. import java.net.URL;
  7. import java.util.List;
  8. import java.util.Map;

  9. /**
  10.  * 说明:获取百度人脸识别token类
  11.  * 作者:FH Admin
  12.  * from:fhadmin.cn
  13.  */
  14. public class AuthService {
  15.     
  16.     /**
  17.      * 获取权限token
  18.      * @return 返回示例:
  19.      * {
  20.      * "access_token": "xxxx",
  21.      * "expires_in": 2592000
  22.      * }
  23.      */
  24.     public static String getAuth() {
  25.         // 官网获取的 API Key 更新为你注册的
  26.         String clientId = "xxxxxx0000";
  27.         // 官网获取的 Secret Key 更新为你注册的
  28.         String clientSecret = "xxxxxxxxx1111";
  29.         return getAuth(clientId, clientSecret);
  30.     }

  31.     /**
  32.      * 获取API访问token
  33.      * 该token有一定的有效期,需要自行管理,当失效时需重新获取.
  34.      * @param ak - 百度云官网获取的 API Key
  35.      * @param sk - 百度云官网获取的 Securet Key
  36.      * @return assess_token 示例:
  37.      * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"
  38.      */
  39.     public static String getAuth(String ak, String sk) {
  40.         // 获取token地址
  41.         String authHost = "aip.baidubce.com/oauth/2.0/token?";
  42.         String getAccessTokenUrl = authHost
  43.                 // 1. grant_type为固定参数
  44.                 + "grant_type=client_credentials"
  45.                 // 2. 官网获取的 API Key
  46.                 + "&client_id=" + ak
  47.                 // 3. 官网获取的 Secret Key
  48.                 + "&client_secret=" + sk;
  49.         try {
  50.             URL realUrl = new URL(getAccessTokenUrl);
  51.             // 打开和URL之间的连接
  52.             HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
  53.             connection.setRequestMethod("GET");
  54.             connection.connect();
  55.             // 获取所有响应头字段
  56.             Map<String, List<String>> map = connection.getHeaderFields();
  57.             // 遍历所有的响应头字段
  58.             for (String key : map.keySet()) {
  59.                 System.err.println(key + "--->" + map.get(key));
  60.             }
  61.             // 定义 BufferedReader输入流来读取URL的响应
  62.             BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  63.             String result = "";
  64.             String line;
  65.             while ((line = in.readLine()) != null) {
  66.                 result += line;
  67.             }
  68.             /**
  69.              * 返回结果示例
  70.              */
  71.             JSONObject jsonObject = new JSONObject(result);
  72.             String access_token = jsonObject.getString("access_token");
  73.             return access_token;
  74.         } catch (Exception e) {
  75.             System.err.printf("获取token失败!");
  76.             e.printStackTrace(System.err);
  77.         }
  78.         return null;
  79.     }

  80. }


阅读(710) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~