Avplayer添加请求头

2018-05-02  本文已影响0人  耽于幽夜

由于项目迭代完成,最近没有什么需求要添加;本人利用这段时间整理代码,回顾以往遇到问题并加以记录。本人项目中包含原创的视频,为了保障公司的版权;公司于是使用了防盗链的方式。

普通的网络数据请求添加请求头是很方便的,只需要调用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}];    

上一篇下一篇

猜你喜欢

热点阅读