给你的APP上防盗链吧

2018-12-07  本文已影响66人  shushuzhen

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

//这一段是添加在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这边我是直接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里所有的请求网络里面的防盗链了,具体的还是要根据自己项目的业务做相关的处理。

上一篇 下一篇

猜你喜欢

热点阅读