在Cocoa中运行NSURLRequest时,出现303 HTTP错误,这是重定向。如何提取正确的URL以重定向到?是在错误变量中还是其他地方?

最佳答案

您可能想使用NSURLConnection来检查重定向的自动处理:

Handling Redirects and other Request Changes

如果您想手动处理,则重定向网址位于响应的“位置”标头中。这是在connection:didReceiveResponse委托方法中获取它的方法。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
    // ... if the response status is 303 ...
    if ([response respondsToSelector:@selector(allHeaderFields)]) {
        NSString* location = [[httpResponse allHeaderFields] valueForKey:@"Location"];
            // do whatever with the redirect url
    }
}

关于iphone - 如何处理NSURLRequest HTTP错误303?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3242498/

10-16 14:04