我必须解决 NSURLConnection 自动将带有 302 响应的 POST 重定向重定向为 GET 请求(并丢弃 HTTP 正文和一些标头)的问题。
我找到并成功尝试了 NSURLConnectionDataDelegate 解决方案(例如这里),实现:
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
并丢弃/修复有问题的请求。这行得通。
然而。据我了解,这意味着我必须使用委托 API,例如:
[NSURLConnection connectionWithRequest:request delegate:self];
有没有办法使用更舒适的基于块的异步 API 来修复重定向?:
+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler