温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-14 23:29:39 来源:网络 阅读:599 作者:yy55yyo 栏目:开发技术

       我们通常用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"];

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI