Первый раз работаю над проектом Apple Swift. Я создаю библиотеку, в которой отправляю HTTP-запрос в API, и мне нужно получить cookie-файлы, которые возвращаются в ответе, но по какой-то причине они не извлекаются.
Ниже приведен код, который у меня есть.
let url = URL(string: "http://192.168.1.118:500/initialise")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
let parameters: [String: String] = [
"ApplicationID": app_id,
"DeviceID": "123456",
"AppVersion": app_version
]
request.setValue(api_key, forHTTPHeaderField: "authorisation-token")
//request.httpBody = parameters.percentEscaped().data(using: .utf8)
let postString = self.getPostString(params: parameters)
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) {data, response, error in
guard let data = data,
let response = response as? HTTPURLResponse,
error == nil else {
print("error", error ?? "Unknown Error")
return
}
guard(200...299) ~= response.statusCode else {
print("statusCode should 2xx, but is \(response.statusCode)")
print("response = \(response)")
return
}
print ("HTTP Status Code: " + String(response.statusCode))
print ("-------Cookies--------")
let cookieStorage = HTTPCookieStorage.shared
let cookies = cookieStorage.cookies(for: URL(string:"192.168.1.118:500")!) ?? []
for cookie in cookies {
if cookie.name == "SESSIONID" {
MyClass.SESSIONID = cookie.value
}
else if cookie.name == "DO-LB" {
MyClass.DOLB = cookie.value
}
}
Я попытался изменить URL-адрес cookieStorage.cookies, чтобы включить и номер порта 500, и исключить его, но, к сожалению, ни один из них не сработал.