6

L'intestazione di autorizzazione è impostata su NSURLSessionConfiguration, tuttavia non è collegata a NSURLSessionDataTask. Si tratta di un bug in Foundation framework?NSURLSessionConfiguration HTTPAdditionalHeaders non impostato

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]; 
+0

Hai qualche soluzione? –

risposta

1

provo questo a Swift e funziona

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 
+4

Ho provato questo, non funziona per me. iOS 9.2. – zumzum

+0

Funziona per 'X-test' ma non funzionerà con' Autorizzazione'. Vedi la risposta di Dongjin Suh. –

5

Nel NSURLSessionConfiguration document,

Un oggetto NSURLSession è progettato per gestire i vari aspetti del protocollo HTTP per voi. Di conseguenza, non si deve modificare le seguenti intestazioni :

Autorizzazione

Connection

Host

WWW-Authenticate