我们通常用SDWebImage来请求网络的图片,但是偶尔会遇到网页需要登录的情况,这时候我们发现直接用setImageWithURL来请求网络图片会请求失败,怎么办呢?
成都创新互联专注于企业全网营销推广、网站重做改版、叶县网站定制设计、自适应品牌网站建设、H5技术、商城系统网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为叶县等各大城市提供网站开发制作服务。当然我们想的是需要把网页的账号密码加上,但是家在哪儿呢,用哪个方法呢?
研究了半天发现有这么一个方法
[request setValue:authValue forHTTPHeaderField:@"Authorization"]
上面这句大家可以看到一个HTTPHeaderField,这是HTTP头信息,有兴趣的朋友可以去了解一下http://blog.csdn.net/zhenweicao/article/details/7911525。
这里我们继续,这个setValue就是我们需要设置的地方,将账号密码设置到这里才能在请求图片的时候把你的用户名和信息输入请求进去。那这个authValue怎么设置呢?
NSString *authStr = @"username:password";
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64Encoded]];
是的这样我们就能得到authValue。
那么整个过程就是将以下代码设置到SDWebImageDownloaderOperation.m中即可。
NSString *authStr = @"username:password";
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64Encoded]];
[self.request setValue:authValue forHTTPHeaderField:@"Authorization"];
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。