在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/