メソッドを使用せずに NSHTTPURLResponse のヘッダーを変更することは可能ですか?
initWithURL:statusCode:HTTPVersion:headerFields:
新しいカスタマイズされた NSHTTPURLResponse を作成するには
メソッドを使用せずに NSHTTPURLResponse のヘッダーを変更することは可能ですか?
initWithURL:statusCode:HTTPVersion:headerFields:
新しいカスタマイズされた NSHTTPURLResponse を作成するには
応答オブジェクトは、 と呼ばれる NSDictionary を返しますallHeaderFields
。その辞書を直接変更できれば理想的ですが、それは NSMutableDictionary ではありません。つまり、次の 2 つのいずれかしか実行できません。
現在の辞書の変更可能なコピーを作成し、allHeaderFields
それを新しい NSHTTPURLResponse で使用します (新しい NSHTTPURLResponse を作成したくないと言ったのは知っていますが、それが最も簡単な解決策です。元の応答から他の値を取得し、元の の値で初期化された NSMutableDictionary を作成し、allHeaderFields
なりすましに必要なフィールドを編集し、それを新しい応答にプラグインします。)
それ以外の場合は、allHeaderFields オブジェクトを変更できる NSHTTPURLResponse のカスタム サブクラスを実装できます。ここでそれを行う方法の基本を詳述する素晴らしい答えですが、もう少し遠回りのようです。非常に多くの HTTP ヘッダー フィールドをオーバーライドする必要がある場合にのみ、これを使用します。