我想检查请求中是否存在cookie.name =='Custom'。
现在,我从字典request.allHTTPHeaderFields
中读取字符串,然后进行分割,然后跟随for循环。我认为有一种优雅的方法。
if let allHTTPHeaderFields = request.allHTTPHeaderFields,
let cookies = allHTTPHeaderFields["Cookie"] {
let cookieArray = cookies.split(separator: ";")
for cookie in cookieArray {
if cookie.contains("Custom") {
//do something
}
}
}
我尝试了HTTPCookie.cookies(withResponseHeaderFields: allHTTPHeaderFields, for: url)
,但它总是返回0 elements
答案 0 :(得分:0)
您可以将cookie的所有元素或特定元素转换为字符串或追加到数组中,然后尝试这种方法。
let cookie = HTTPCookieStorage.shared.cookies
// print(cookie!)
for cook in cookie!
{
if cook.name == "sessionid"
{
get.append(cook.value)
}
else if cook.name == "ds_user_id"
{
get.append(cook.value)
}
else if cook.name == "csrftoken"
{
get.append(cook.value)
}
}
print(get)
这对我有用,希望对您有帮助。