NSURLProtocol处理重定向时需要注意301和302状态

来源:互联网 发布:茶空间网络组织架构 编辑:程序博客网 时间:2024/05/26 05:53
-(NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response {    if ([response isKindOfClass:[NSHTTPURLResponse class]])    {        NSHTTPURLResponse *HTTPResponse = (NSHTTPURLResponse *)response;        if ([HTTPResponse statusCode] == 301 || [HTTPResponse statusCode] == 302)        {            NSMutableURLRequest *mutableRequest = [request mutableCopy];            [mutableRequest setURL:[NSURL URLWithString:[[HTTPResponse allHeaderFields] objectForKey:@"Location"]]];            request = [mutableRequest copy];            [[self client] URLProtocol:self wasRedirectedToRequest:request redirectResponse:response];        }    }    return request;}

0 0