Ios 如果从connection:willSendRequest:redirectResponse返回nil,为什么NSURLConnection停止发送数据:
我正在为NSURLConnection实现一个重定向处理程序。出于我的目的,我实际上不想做重定向,我想加载整个页面并记住重定向供以后使用。在NSURLConnectionDataDelegate的connection:willSendRequest:redirectResponse:method的文档中,我发现: 根据重定向响应使用的实际URL请求。 委托可以返回未经修改的请求以允许重定向, 返回一个新请求,或返回nil以拒绝重定向和 继续处理连接 我尝试了以下代码:Ios 如果从connection:willSendRequest:redirectResponse返回nil,为什么NSURLConnection停止发送数据:,ios,nsurlconnection,Ios,Nsurlconnection,我正在为NSURLConnection实现一个重定向处理程序。出于我的目的,我实际上不想做重定向,我想加载整个页面并记住重定向供以后使用。在NSURLConnectionDataDelegate的connection:willSendRequest:redirectResponse:method的文档中,我发现: 根据重定向响应使用的实际URL请求。 委托可以返回未经修改的请求以允许重定向, 返回一个新请求,或返回nil以拒绝重定向和 继续处理连接 我尝试了以下代码: - (NSURLReque
- (NSURLRequest *) connection: (NSURLConnection *) connection
willSendRequest: (NSURLRequest *) request
redirectResponse: (NSURLResponse *) redirectResponse
{
NSURL *url1 = [request URL];
NSURL *url2 = [redirectResponse URL];
if ([request URL] != nil)
self.redirect = [request URL];
return nil;
}
- (void) connection: (NSURLConnection *) theConnection didReceiveResponse: (NSURLResponse *) response {
NSURL *url1 = [response URL];
int foo = 0;
}
程序从未调用过连接:didReceiveData:
,连接:didFailWithError:
或连接dFinishLoading:
。返回request
而不是nil
,程序正常加载页面。(重定向的URL是原始URL,但那是。如果它们相关,请同时回答这一个。)
在尝试重定向后,是否需要其他方法来正确允许NSURLConnection继续处理文件?HTTP重定向响应在大多数情况下都是当前连接的结束。如果您的第一个连接以重定向结束,并且您拒绝处理该重定向,那么就没有什么可做的了