您的位置:首页 > 其它

用SDWebImage请求需要用户名密码登录的网页图片

2013-06-11 10:24 302 查看
我们通常用SDWebImage来请求网络的图片,但是偶尔会遇到网页需要登录的情况,这时候我们发现直接用setImageWithURL来请求网络图片会请求失败,怎么办呢?
当然我们想的是需要把网页的账号密码加上,但是家在哪儿呢,用哪个方法呢?
研究了半天发现有这么一个方法
[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"];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐