2

私のアプリケーションはカスタムNSURLProtocolサブクラスを使用します。NSHTTPURLResponseいくつかのヘッダー フィールドを変更して、自分のコピーで置き換える必要があります。したがって、次のように新しいNSHTTPURLResponseインスタンスを作成します。

@implementation NSHTTPURLResponse (CocoaFix)

- (instancetype)HTTPResponseByRemovingValueForHeaderFields:(NSArray *)fields {
    NSMutableDictionary *mutableHeaderFields = [self.allHeaderFields mutableCopy];
    [mutableHeaderFields removeObjectsForKeys:fields];
    return [[[self class] alloc] initWithURL:self.URL
                                  statusCode:self.statusCode
                                 HTTPVersion:@"HTTP/1.1" // What should I pass here?
                                headerFields:mutableHeaderFields];
}

@end

パラメータに問題が発生していHTTPVersionます。元の応答からこの値を取得する方法が見つかりませんでした。

ドキュメントには次のように記載されています。

これは通常、「HTTP/1.1」として表されます。

しかし、ハードコードされた値を提供することは、常に正しく機能するソリューションのようには見えません。

これで私を助けてください。

4

3 に答える 3

0

この回答: NSURLRequest http protocol versionに従って、おそらくこれを行うには、少なくとも CFNetwork API にブリッジする必要があります。

于 2016-03-23T14:56:02.427 に答える