クライアントサーバー(ratin24 API)からデータを取得しようとしています。 APIは基本的には認証後に1つの証明書があり、NSURLSession "didReceiveChallenge"デリゲートメソッドで認証されたことを意味します。すべてがうまくいっていますが、今問題になっているのは、ヘッダー部分だけが応答であるとは限りません。そこから実際のデータを取得する方法。リクエストボディにXMLパラメータを渡します。レスポンスはXMLである必要がありますが、ヘッダーのみを取得する必要があります。この状況でBODYデータを取得する方法を教えてください。クライアント証明書を認証してサーバーから応答を取得
let xmlString = "<?xml version='1.0' encoding='ISO-8859-1'?><TICKETANYWHERE><COUPON VER='1.0'><TEMPLATELIST /></COUPON></TICKETANYWHERE>"
let xmlData = xmlString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
let request = NSMutableURLRequest(URL: NSURL(string: "My URL")!)
request.HTTPMethod = "POST"
request.HTTPBody = xmlData
request.addValue("text/html; charset=ISO-8859-1", forHTTPHeaderField: "Content-Type")
struct SessionProperties {
static let identifier : String! = "url_session_background_download"
}
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
let backgroundSession = NSURLSession(configuration: configuration, delegate:self as? NSURLSessionDelegate, delegateQueue: NSOperationQueue.mainQueue())
let downloadTask = backgroundSession.downloadTaskWithRequest(request){ (data, response, error) -> Void in
let httpResponse = response as! NSHTTPURLResponse
let statusCode = httpResponse.statusCode
if (statusCode == 200) {
print("Everyone is fine, file downloaded successfully.")
}
}
downloadTask.resume()
応答データ(ヘッダーのみ)本文? :
status code: 200, headers {
Connection = close;
"Content-Length" = 23113;
"Content-Type" = "text/html; charset=ISO-8859-1";
Date = "Mon, 27 Jun 2016 11:36:12 GMT";
Server = "Apache/2.2.15 (CentOS)";
}