2015-10-02 48 views
0

任何想法为什么NSURLSession完成块不被调用?随着NSURLConnection它的工作原理,但NSURLConnection在iOS版9NSURLSession不返回

let username = "8r6nibK8Pe28WFhjTX1gGb1Rhhhc7xM02v7XKRPedL4" 
let password = "8r6nibK8Pe28WFhjTX1gGb1Rhhhc7xM02v7XKRPedL4" 
let loginString = NSString(format: "%@:%@", username, password) 
let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)! 
let base64LoginString = loginData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength) 

// create the request 
let url = NSURL(string: "https://api.datamarket.azure.com/Bing/Search/Image?$format=json&Query='Rambo'+'Oscar'") 
let request = NSMutableURLRequest(URL: url!) 
request.HTTPMethod = "POST" 
request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization") 

let a = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration()).dataTaskWithRequest(request, completionHandler: {data, urlResponse, error in 

    if data != nil { 

     let str = NSString(data: data!, encoding: NSUTF8StringEncoding) 
     print(str) 
    } else { 
     _ = 7 
    } 
}) 
+0

更新回答给答案。 – Abizern

回答

1

您的变量a是NSURLSessionDataTask弃用。

但你只是在创造它。一旦你有它,你需要实际运行它:

a.resume() 
+0

顺便说一句,你知道为什么打印的信息包含:'你提供的授权类型不支持。只支持Basic和OAuth',我正在使用基本身份验证。我希望对图像信息有一些有意义的回应。 –

+0

尝试将授权添加到配置,而不是请求。例如:https://gist.github.com/n8armstrong/5c5c828f1b82b0315e24 – Abizern

+0

尝试过,不起作用,但创建了另一个问题:http://stackoverflow.com/questions/32907981/nsurlsession-returns-different-response-than -browser-会,为什么 –

相关问题