SDWebImage 报错Error Domain=NSURLErrorDomain Code=403 “The operation couldn’t be completed. (NSURLErrorDomain error 403.)”

首先排除ios9   ATS的设置问题。

1、SDWebImage可以正常加载HTTPS的图片。

2、SDWebImage可以加载有些HTTP图片。

3、SDWebImage不能加载有些HTTP的图片,但是网页上打开,或者UIWebView可以正常加载。

排除了所有可能的问题。

找到这个答案:Stackflow

For some reason yourSDWebImagewasn’t persisting theuser-Agent

以下代码贴上使用。即可加载部分不能加载的图片。

NSString*userAgent=@"";userAgent=[NSStringstringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)",[[[NSBundlemainBundle]infoDictionary]objectForKey:(__bridgeNSString*)kCFBundleExecutableKey]?:[[[NSBundlemainBundle]infoDictionary]objectForKey:(__bridgeNSString*)kCFBundleIdentifierKey],[[[NSBundlemainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"]?:[[[NSBundlemainBundle]infoDictionary]objectForKey:(__bridgeNSString*)kCFBundleVersionKey],[[UIDevicecurrentDevice]model],[[UIDevicecurrentDevice]systemVersion],[[UIScreenmainScreen]scale]];if(userAgent){if(![userAgent canBeConvertedToEncoding:NSASCIIStringEncoding]){NSMutableString*mutableUserAgent=[userAgent mutableCopy];if(CFStringTransform((__bridgeCFMutableStringRef)(mutableUserAgent),NULL,(__bridgeCFStringRef)@"Any-Latin; Latin-ASCII; [:^ASCII:] Remove",false)){userAgent=mutableUserAgent;}}[[SDWebImageDownloadersharedDownloader]setValue:userAgent forHTTPHeaderField:@"User-Agent"];}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发 原文地址:http://www.jianshu.com/...
    Marray阅读 345评论 0 0
  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 UITableView的Group样式下顶部...
    UI爱好者阅读 534评论 0 0
  • 1、禁止手机睡眠 [UIApplicationsharedApplication].idleTimerDisabl...
    小热狗阅读 930评论 0 2
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,150评论 1 6
  • 早晨一出发,在车上,餐厅,办公室讨论的几乎都会扯上昨天小组赛中国战胜韩国队,都觉得在萨德这个风口上,中国队还真争气...
    skyown阅读 240评论 2 0