在http请求中,有的时候需要在加载图片的时候添加防盗链功能,也就是规定用户在指定app或者web端才能浏览图片,其他途径无法打开图片,这样会减轻服务器压力,如果公司服务器是买来的,并且是通过流量来收费的话,还会减少公司开支。
那么在ios开发中,如何添加这个防盗链功能呢?
直接贴代码,大家在自己的代码中找到并修改就行了。
为了能够看到效果,建议大家让后台把防盗链功能打开,然后删除自己的APP,再重新运行《先不添加下面的代码,会看到图片无法加载出来,然后再添加下面的代码,再次运行,如果图片加载出来了,就说明防盗链添加成功了》,因为sdwebimage有图片缓存功能,不删除看不到效果。
找到sdwebimage的这个类
然后找到这个代码片段
- (id)init {
if ((self = [super init])) {
_imageCache = [self createCache];
_imageDownloader = [SDWebImageDownloader sharedDownloader];
[_imageDownloader setValue:@"你们公司后台自己设定的Referer" forHTTPHeaderField:@"Referer"];
_failedURLs = [NSMutableSet new];
_runningOperations = [NSMutableArray new];
}
return self;
}
这样就OK了