gpt4 book ai didi

ios - 使用 AFNetworking 2.0 拦截和防止重定向的推荐方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:16:40 26 4
gpt4 key购买 nike

在我看来,执行此操作的正确位置是在 AFURLSessionManager 中设置 taskWillPerformHTTPRedirection block ,但我不确定处理它的最佳方法。

目前,在我的 AFHTTPSessionManager 子类中,我正在为所有请求全局设置重定向 block ,我知道我可以通过在此处返回 nil 来阻止重定向:

- (void)setupRedirectBlock {
[self setTaskWillPerformHTTPRedirectionBlock:^NSURLRequest *(NSURLSession *session, NSURLSessionTask *task, NSURLResponse *response, NSURLRequest *request) {
return nil;
}];
}

...但我只需要在特定任务上执行此操作,而且似乎没有办法从任务本身获取此信息。

我想我正在寻找某种用户信息字典或我可以用来设置标志告诉此方法返回 request 或返回 nil 的东西。目前,看起来我必须在远离任务和路径实际创建位置的客户端中对响应/请求 URL 进行字符串比较。

所以这引出了一个问题,我是在违反惯例,还是真的没有更好的方法来逐个任务地拦截 AFNetworking 2.0 重定向?

最佳答案

setTaskWillPerformHTTPRedirectionBlock 是拦截重定向的最佳方式。 session 管理器负责根据与任务关联的请求确定何时或何时不阻止重定向。在大多数情况下,请求的路径应该足以确定,但用户可以在自定义请求 header 字段中额外标记信息。

关于ios - 使用 AFNetworking 2.0 拦截和防止重定向的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22561235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com