【问题标题】:NSURLSession & NSURLSessionConfig - Discarding Config HeadersNSURLSession & NSURLSessionConfig - 丢弃配置头
【发布时间】:2014-10-17 18:26:44
【问题描述】:

我遇到了NSURLSessionNSURLSessionConfiguration 的问题,我不确定这是我的代码还是我对框架的行为方式有不正确的理解。

我面临的问题是我在会话级别设置的标头在从会话创建的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 相关联。我的理解正确吗?如果是这样,谁能看到我做错了什么?

【问题讨论】:

    标签: ios nsurlsession nsurlsessiondownloadtask nsurlsessionconfiguration


    【解决方案1】:

    正在根据 Charles Proxy 发送标头:
    “测试标头文本标头值”。

    这似乎是NSURLSessionConfigurationNSURLSession 中设置标题的方式的显示问题。也许人们不应该假设在使用NSURLSession 时设置了allHTTPHeaderFields 属性。

    【讨论】:

    • 好电话。我检查了代理中的标头,它也在那里。
    猜你喜欢
    • 2017-12-10
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 2016-02-27
    • 1970-01-01
    • 2016-07-11
    相关资源
    最近更新 更多