由于项目迭代完成,最近没有什么需求要添加;本人利用这段时间整理代码,回顾以往遇到问题并加以记录。本人项目中包含原创的视频,为了保障公司的版权;公司于是使用了防盗链的方式。
普通的网络数据请求添加请求头是很方便的,只需要调用request的一个方法即可
[request setValue:[[NSUserDefaults standardUserDefaults] valueForKey:@"httpHeader"] forHTTPHeaderField:@"AUTHORIZATION"];
[request addValue:@"yourHeader" forHTTPHeaderField:@"Referer"];
关于AVplayer添加请求头就有点复杂,因为会用的苹果的私有key值。苹果很有意思,私有的方法用起来是很方便的;但只要是用到了私用的方法,苹果一旦发现就会给你下架。
于是我对苹果的私有key值进行了编码和解码;让APP中不显示私有的key值,这样便可以解决这一问题。
1。加密。第一个参数是加密对象的key值,用来解密时找到对象;第二个参数是加密的对象,即私有key值“AVURLAssetHTTPHeaderFieldsKey”(注:加密过程不要在APP内部写,可以先运行工程获取到密文后删掉加密过程。防止私有key的出现)
加密2。解密,同加密。第二个参数就是你获取的密文
解密添加请求头,用这种方法就可以避开苹果的对待私有方法的机制。从而实现视频的加密,解决版权问题
NSString *yuanmi = 解密后的参数
NSDictionary *header = @{@"Referer":@"yourHeader"};
self.urlAsset = [AVURLAsset URLAssetWithURL:self.videoURL options:@{yuanmi:header}];
网友评论