这是canInitWithRequest
在NSURLProtocol
:
+ (BOOL)canInitWithRequest:(NSURLRequest *)request
{
// only handle http requests we haven't marked with our header.
if ([[[request URL] scheme] isEqualToString:@"http"] &&
([request valueForHTTPHeaderField:RNCachingURLHeader] == nil)) {
return YES;
}
return NO;
}
但我想NSURLProtocol
允许HTTPS请求为好。
我试过,但调用的时候所有的请求失败:
+ (BOOL)canInitWithRequest:(NSURLRequest *)request
{
// only handle http requests we haven't marked with our header.
if (([[[request URL] scheme] isEqualToString:@"http"] || [[[request URL] scheme] isEqualToString:@"https"]) &&
([request valueForHTTPHeaderField:RNCachingURLHeader] == nil)) {
return YES;
}
return NO;
}
一个例子是具有https配置的登录请求的。 在上面的函数, 是返回,但是当登录请求被调用时,我得到的日志此错误:
误差区域= NSURLErrorDomain代码= -1004“无法连接到服务器。”
但是,如果我删除HTTPS的检查中canInitWithRequest
,我没有得到任何错误。
我使用RNCachingURLProtocol缓存请求。
我怎么可能做到这一点。