给你的APP上防盗链吧

最近公司说要做防盗链,要给所有的请求网络里面的请求头里加上自己的东西。于是我:

  • 所有图片的请求加请求头
//这一段是添加在AppDelegate的didFinishLaunching方法里即可全局设置所有图片加载时添加了这个请求。
SDWebImageDownloader *sdmanager = [SDWebImageManager sharedManager].imageDownloader;

[sdmanager setValue:@"公司后台设置的值" forHTTPHeaderField:@"Referer"];
  • 所有的播放视频的地方加了请求头
// 这一段写在你实例化AVPlayer的地方
NSMutableDictionary * headers = [NSMutableDictionary dictionary];
[headers setObject:@"公司后台设置的值"forKey:@"Referer"];

self.urlAsset = [AVURLAsset URLAssetWithURL:self.videoURL options:@{@"AVURLAssetHTTPHeaderFieldsKey" : headers}];

self.playerItem = [AVPlayerItem playerItemWithAsset:self.urlAsset];

self.player = [AVPlayer playerWithPlayerItem:self.playerItem];
  • PDF的请求URL初加了请求头
// PDF这边我是直接NSData接收的,所以处理稍微有点不同
NSURL *url=[NSURL URLWithString:pdfPathManlist];

 NSURLRequest *downloadRequest = [[NSURLRequest alloc] initWithURL:url];

 NSMutableURLRequest *mutableRequest = [downloadRequest mutableCopy];

 [mutableRequest setValue:@"公司后台设置的值" forHTTPHeaderField:@"Referer"];

 NSData* data = [NSURLConnection sendSynchronousRequest:mutableRequest returningResponse:NULL error:NULL];

  • 请求网络框架里加了请求头
// 在请求网络的封装里,设置Header
NSDictionary *header = @{@"Referer":@"公司后台设置的值"};

[self setRequestHeader:header];

这样就设置好了整个APP里所有的请求网络里面的防盗链了,具体的还是要根据自己项目的业务做相关的处理。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 家访中的感慨很多,许多家长对老师的到来,接待的非常热情,他们觉得温暖,倍感兴奋,学生本人感到:原来自己并不是一个被...
    Shelly_fada阅读 246评论 0 0
  • 这是儿子的书包,真的是不敢直视,上学去整理,放学回家书包又变成这样 女儿就不一样,教她做一次,就懂得如何去整理自己...
    蓉之心阅读 321评论 0 0
  • 这样的天气 我仿佛见过很多 天很蓝,云很白 天空看起来是如此的辽高远 如此的不可触摸
    剪纸流年阅读 355评论 2 1
  • 文 | 一夕一晓 公众号:一夕...
    一夕一晓阅读 378评论 0 2

友情链接更多精彩内容