0

http ヘッダーを使用したいのですがIf-None-Match、AFNetworking 3.0 で方法がわかりません。

移行ガイドではそれについて何も説明されておらず、基本的には通常のGETリクエストを使用するように言われていますが、これは役に立たないようです。

私が AFNetworking 2 で行っていたことは次のとおりです。

let getAvatarRequest = NSURLRequest(URL: avatarUrl!, cachePolicy: .ReloadIgnoringLocalCacheData, timeoutInterval: 60).mutableCopy()    
getAvatarRequest.setValue(avatarImageETag!, forHTTPHeaderField: "If-None-Match")

ご協力いただきありがとうございます。

4

3 に答える 3

1

OK、答えが見つかりました。実際には何も変わっていませんが、明らかではありません。コードは次のとおりです。

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
let manager = AFURLSessionManager(sessionConfiguration: configuration)

let request = NSMutableURLRequest(URL: remoteFileURL!)
request.setValue("", forHTTPHeaderField: "If-None-Match")
let downloadTask = manager.downloadTaskWithRequest(request, progress: nil, destination: { (targetURL: NSURL, response: NSURLResponse) -> NSURL in
    // Success
}, completionHandler: { (response: NSURLResponse, filePath: NSURL?, error: NSError?) -> Void in
    // Error
})
downloadTask.resume()
于 2015-12-16T18:02:40.453 に答える
-4

これはREADMEからのものです:

リクエストへのカスタム HTTP ヘッダーの追加は、グローバル リクエスト メソッドで直接サポートされています。これにより、常に変化する可能性のあるリクエストに HTTP ヘッダーを簡単にアタッチできます。

変更されない HTTP ヘッダーについては、基になる NSURLSession によって作成されたすべての NSURLSessionTask に自動的に適用されるように、それらを NSURLSessionConfiguration に設定することをお勧めします。

let headers = [
    "Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
    "Content-Type": "application/x-www-form-urlencoded"
]

Alamofire.request(.GET, "https://httpbin.org/get", headers: headers)
     .responseJSON { response in
         debugPrint(response)
     }
于 2015-12-16T17:16:24.923 に答える