1

NSURLSession&に問題がありNSURLSessionConfiguration、それが私のコードなのか、それともフレームワークの動作を正しく理解していないのかわかりません。

私が直面している問題は、セッション レベルで設定したヘッダーがNSURLSessionTaskセッションから作成されたファイルに存在しないことです。

以下に小さな例を示します。

NSURLSessionConfiguration* config = [NSURLSessionConfiguration defaultSessionConfiguration];
config.HTTPAdditionalHeaders = @{ @"TestHeader" : @"TextHeaderValue" };

NSURLSession* session = [NSURLSession sessionWithConfiguration:config];
NSURLSessionDownloadTask* task = [session downloadTaskWithURL:[NSURL URLWithString:@"http://www.google.com"]];

NSLog(@"%@",task.originalRequest.allHTTPHeaderFields.description);
NSLog(@"%@",task.currentRequest.allHTTPHeaderFields.description);
NSLog(@"%@",session.configuration.HTTPAdditionalHeaders);

上記のコードは次を出力します。

(null)
(null)
{TestHeader = TextHeaderValue}

documentationの私の理解から、セッションから作成されたタスクまたはリクエストは、セッションから HTTPHeaders を継承する必要があります。私の理解は正しいですか?もしそうなら、誰かが私が間違っていることを見ることができますか?

4

1 に答える 1

2

ヘッダーは Charles Proxy:
"TestHeader TextHeaderValue" に従って送信されています。

NSURLSessionConfigurationこれは、およびでのヘッダーの設定方法に伴う表示上の問題のようNSURLSessionです。allHTTPHeaderFieldsおそらく、 を使用するときにプロパティが設定されていると想定すべきではありませんNSURLSession

于 2014-10-17T19:54:48.143 に答える