java - 客户端从服务器获取凭证
PHPz
PHPz 2017-04-17 13:10:38
[Java讨论组]

官方说法获取凭证说明:
http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html

api获取凭证的部分代码:
String encodedSign = EncodeUtils.urlsafeEncodeString(mac.doFinal(data));
return this.accessKey + ":" + encodedSign;

我不想直接在服务器端生成凭证再返回给客户端,所以我想通过服务器端生成 mac
( Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);) 后通过jObject.put("msg", mac)返回给客户端,通过下面代码生成一个完整的图片地址

Mac mac = (Mac) jsonObject.get("msg");
String baseUrl = URLUtils.makeBaseUrl(空间名, 文件名);
GetPolicy getPolicy = new GetPolicy();
String 下载地址= getPolicy.makeRequest(baseUrl, mac);

在servlet的服务器中 只要添加了
Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY); 就报错,无论是主线程还是子线程都一样好像Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);不能放在线程执行一样

PHPz
PHPz

学习是最好的投资!

全部回复(3)
阿神

Mac类的构造函数就只有ak、sk的赋值,并没有其他的操作,能否提供下报错的具体信息,这边好做出判断。

迷茫

servlet的服务器中Mac类是怎么获取的,java版本多少,可以使用源码编译为对应版本的jar;
mac类如何序列化到客户端的。java可以字节码序列化,远程服务器再反序列化,如ejb的方式等。但android的虚拟机和oracle的jvm是不同结构,字节码是不一样的。不能使用json将包含其它方法的类传到另一台虚拟机。

迷茫

java.lang.UnsupportedClassVersionError: Bad version number in .class file

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号