最近公司說(shuō)要做防盜鏈,要給所有的請(qǐng)求網(wǎng)絡(luò)里面的請(qǐng)求頭里加上自己的東西。于是我:
-
所有圖片的請(qǐng)求加請(qǐng)求頭
//這一段是添加在AppDelegate的didFinishLaunching方法里即可全局設(shè)置所有圖片加載時(shí)添加了這個(gè)請(qǐng)求。
SDWebImageDownloader *sdmanager = [SDWebImageManager sharedManager].imageDownloader;
[sdmanager setValue:@"公司后臺(tái)設(shè)置的值" forHTTPHeaderField:@"Referer"];
-
所有的播放視頻的地方加了請(qǐng)求頭
// 這一段寫(xiě)在你實(shí)例化AVPlayer的地方
NSMutableDictionary * headers = [NSMutableDictionary dictionary];
[headers setObject:@"公司后臺(tái)設(shè)置的值"forKey:@"Referer"];
self.urlAsset = [AVURLAsset URLAssetWithURL:self.videoURL options:@{@"AVURLAssetHTTPHeaderFieldsKey" : headers}];
self.playerItem = [AVPlayerItem playerItemWithAsset:self.urlAsset];
self.player = [AVPlayer playerWithPlayerItem:self.playerItem];
-
PDF的請(qǐng)求URL初加了請(qǐng)求頭
// PDF這邊我是直接NSData接收的,所以處理稍微有點(diǎn)不同
NSURL *url=[NSURL URLWithString:pdfPathManlist];
NSURLRequest *downloadRequest = [[NSURLRequest alloc] initWithURL:url];
NSMutableURLRequest *mutableRequest = [downloadRequest mutableCopy];
[mutableRequest setValue:@"公司后臺(tái)設(shè)置的值" forHTTPHeaderField:@"Referer"];
NSData* data = [NSURLConnection sendSynchronousRequest:mutableRequest returningResponse:NULL error:NULL];
-
請(qǐng)求網(wǎng)絡(luò)框架里加了請(qǐng)求頭
// 在請(qǐng)求網(wǎng)絡(luò)的封裝里,設(shè)置Header
NSDictionary *header = @{@"Referer":@"公司后臺(tái)設(shè)置的值"};
[self setRequestHeader:header];
這樣就設(shè)置好了整個(gè)APP里所有的請(qǐng)求網(wǎng)絡(luò)里面的防盜鏈了,具體的還是要根據(jù)自己項(xiàng)目的業(yè)務(wù)做相關(guān)的處理。