首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误Domain=NSURLErrorDomain Code=403“操作无法完成。(NSURLErrorDomain错误403。)

错误Domain=NSURLErrorDomain Code=403“操作无法完成。(NSURLErrorDomain错误403。)
EN

Stack Overflow用户
提问于 2016-10-20 04:47:50
回答 1查看 1.7K关注 0票数 0

我正在使用sdwebimage和back4app后端。我们无法从back4app加载图像。

代码语言:javascript
复制
 [immg1 sd_setImageWithURL:url11 placeholderImage:[UIImage imageNamed:@"pro"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
                if (error)
                {
                    NSLog(@"B4A_Error: %@", error.localizedDescription);
                    NSLog(@"B4A_Error URL: %@", imageURL.absoluteString);

                }
                else
                {
                    NSLog (@"B4A_Success");
                    [immg1 setNeedsDisplay];
                }
            }];


//            [immg1 setImageWithURL:url11 usingActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];


           [imgView addSubview:immg1];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-20 04:54:29

由于某些原因,您的SDWebImage没有坚持user-Agent。每次打电话之前,我都会手动强迫它保持不变。试试看:

代码语言:javascript
复制
 NSString *userAgent = @"";
            userAgent = [NSString stringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)", [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleExecutableKey] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleIdentifierKey], [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleVersionKey], [[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion], [[UIScreen mainScreen] scale]];

            if (userAgent) {
                if (![userAgent canBeConvertedToEncoding:NSASCIIStringEncoding]) {
                    NSMutableString *mutableUserAgent = [userAgent mutableCopy];
                    if (CFStringTransform((__bridge CFMutableStringRef)(mutableUserAgent), NULL, (__bridge CFStringRef)@"Any-Latin; Latin-ASCII; [:^ASCII:] Remove", false)) {
                        userAgent = mutableUserAgent;
                    }
                }
                [[SDWebImageDownloader sharedDownloader] setValue:userAgent forHTTPHeaderField:@"User-Agent"];
            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40145676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档