是否可以在不使用该方法的情况下修改 NSHTTPURLResponse 上的 header
initWithURL:statusCode:HTTPVersion:headerFields:
创建一个新的自定义 NSHTTPURLResponse
最佳答案
响应对象返回一个名为 allHeaderFields
的 NSDictionary。如果您可以直接修改该字典,那将是理想的,但它不是 NSMutableDictionary。这意味着您只能做以下两件事之一:
创建当前
allHeaderFields
字典的可变副本,并在新的 NSHTTPURLResponse 中使用它(我知道你说过你不想创建新的 NSHTTPURLResponse,但这是最简单的解决方案,您从原始响应中获取其他值,制作一个使用原始allHeaderFields
值初始化的 NSMutableDictionary,编辑您需要的字段以进行欺骗,然后插入进入新的响应。)否则,您可以实现 NSHTTPURLResponse 的自定义子类,它可以修改 allHeaderFields 对象。很好的答案,详细介绍了如何做到这一点的基础知识 here ,但是它似乎有点迂回。仅当您需要覆盖大量 HTTP header 字段时才使用它。
关于ios - 修改 NSHTTPURLResponse 中的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463840/