Ios 在Swift中从HTTP请求响应检索cookie
第一次参与apple swift项目。我正在构建一个库,在这个库中,我向API发送一个HTTP请求,我需要检索响应中返回的cookie,但由于某些原因,它们没有被检索 下面是我的代码Ios 在Swift中从HTTP请求响应检索cookie,ios,swift,Ios,Swift,第一次参与apple swift项目。我正在构建一个库,在这个库中,我向API发送一个HTTP请求,我需要检索响应中返回的cookie,但由于某些原因,它们没有被检索 下面是我的代码 let url = URL(string: "http://192.168.1.118:500/initialise")! var request = URLRequest(url: url) request.httpMethod = "POST" let param
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
}
}
我已尝试将cookieStorage.cookies URL更改为包含,并将端口号更改为500并将其排除,但不幸的是,这两种方法都不起作用。请在此尝试一种解决方案。这可能有助于排序,我自己也找到了,但误读了,它有setCookies,我认为它发送了一个带有cookie的请求,而不是从请求中获取cookie。