菜鸟教程小白 发表于 2022-12-13 14:41:27

ios - 修改 NSHTTPURLResponse 中的 header


                                            <p><p>是否可以在不使用方法的情况下修改 NSHTTPURLResponse 上的 header </p>

<pre><code>initWithURL:statusCode:HTTPVersion:headerFields:
</code></pre>

<p>创建一个新的自定义 NSHTTPURLResponse</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>响应对象返回一个名为 <code>allHeaderFields</code> 的 NSDictionary。如果您可以直接修改该字典,那将是理想的,但它不是 NSMutableDictionary。这意味着您只能做以下两件事之一:</p>

<ul>
<li><p>创建当前 <code>allHeaderFields</code> 字典的可变副本,并在新的 NSHTTPURLResponse 中使用它(我知道你说过你不想创建新的 NSHTTPURLResponse,但它是最简单的解决方案,您从原始响应中获取其他值,创建一个使用原始 <code>allHeaderFields</code> 的值初始化的 NSMutableDictionary,编辑您需要的字段以进行欺骗,然后插入到新的响应中。)</p></li>
<li><p>否则,您可以实现 NSHTTPURLResponse 的自定义子类,该子类可以修改 allHeaderFields 对象。很好的答案,详细说明了如何做到这一点的基础知识<a href="https://stackoverflow.com/a/2194751/465893" rel="noreferrer noopener nofollow">here</a> ,但它似乎有点迂回。仅当您需要覆盖大量 HTTPheader 字段时才使用此选项。</p></li>
</ul></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 修改 NSHTTPURLResponse 中的 header ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/11463840/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/11463840/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 修改 NSHTTPURLResponse 中的 header