未设置NSURLSessionConfiguration HTTPAdditionalHeaders

Arm*_*ans 6 foundation nsurlrequest ios nsurlsession nsurlsessionconfiguration

已设置授权标头NSURLSessionConfiguration,但未附加NSURLSessionDataTask.这是一个错误Foundation framework吗?

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
[configuration setHTTPAdditionalHeaders:@{@"Authorization":@"123"}];

// Initialize session with NSURLSessionConfiguration
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
NSURLSessionDataTask *sessionTask = [session dataTaskWithRequest:request
                                        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
}];

[sessionTask resume];
Run Code Online (Sandbox Code Playgroud)

小智 5

我在 Swift 中尝试了一下,它有效

    var sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
    var xHTTPAdditionalHeaders: [NSObject : AnyObject] = ["X-test":"taly"]
    sessionConfig.HTTPAdditionalHeaders = xHTTPAdditionalHeaders
    let session = NSURLSession(configuration: sessionConfig)

    let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in
Run Code Online (Sandbox Code Playgroud)


Don*_*Suh 5

在NSURLSessionConfiguration 文档中,

NSURLSession对象旨在为您处理HTTP协议的各个方面.因此,您不应修改以下标头:

授权

连接

主办

WWW身份验证

  • 该文档在 2021 年仍然存在,但有关授权字段的说明似乎无关紧要。 (2认同)