我正在使用带有委托的NSURLConnection向URL发送HTTP GET请求。该请求通过HTTP 302重定向,并执行新请求并检索数据。
问题在于我不想要重定向的HTTP请求的主体,而是原始重定向响应的内容。
我已经使用redirectRepsonse实现了- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response
,但在新的重定向请求返回之前不会调用connection:didReceiveData
。
到目前为止,除了使用基于CFNetwork的方法之外,我找不到任何解决方案。
更新: 我创建了一个示例项目,您可以使用该问题:https://github.com/snod/302RedirectTest
有什么想法吗?
答案 0 :(得分:2)
来自-connection:willSendRequest:redirectResponse:
的{{3}}:
要接收重定向响应的主体,请返回nil以取消重定向。连接继续处理,最终根据需要向您的委托发送connectionDidFinishLoading或connection:didFailLoadingWithError:消息。