Cookieを生成し保存する処理を書いていますが、保存したCookieを確認すると
<NSHTTPCookie
と途中で切れており解決策がわからず困っています。
下記にコードをprintの出力結果を記載するので有識者の方ご教授いただけますと幸いです。
swift
1 2 //Cookie保存 3 setCookie(url: "https://teratail.com/", key: "test1", value: "1test") 4 setCookie(url: "https://teratail.com/", key: "test2", value: "2test") 5 6 7 // Url, Key, ValueからCookie文字列を生成し、HTTPCookieStrageに保存する 8 func setCookie(url: URL, key: String, value: String) { 9 10 //Cookie有効期限日付生成:1年後 11 let date = Date(timeIntervalSinceNow: 31556926) 12 let df = DateFormatter() 13 df.locale = Locale(identifier: "en_JP") 14 df.timeZone = TimeZone(identifier: "GMT") // 標準時間 15 df.dateFormat = "E, dd-MMM-yyyy hh:mm:ss" //cookieの日付形式に変換 16 let cookieTime = "; expires=(df.string(from: date)) GMT" //GMTつける 17 let cookieSessionOnly = "; sessionOnly=FALSE; Secure" 18 let cookieKeyVakue = key + "=" + value 19 let cookieStr = cookieKeyVakue + cookieTime + cookieSessionOnly 20 let cookieHeaderField = ["Set-Cookie": cookieStr] 21 let cookies = HTTPCookie.cookies(withResponseHeaderFields: cookieHeaderField, for: url) 22 print("setCookieSet=",cookieHeaderField) 23 print("setCookie=",cookies) 24 print("setcookieStr=",cookieStr) 25 print("setCookieurl=",url) 26 HTTPCookieStorage.shared.setCookies(cookies, for: url, mainDocumentURL: url) 27 return 28 }
下記実行結果
setCookieSet= ["Set-Cookie": "test1=1test; expires=Wed, 06-Apr-2022 04:23:29 GMT; sessionOnly=FALSE; Secure"] setCookie= [<NSHTTPCookie getCookies= [<NSHTTPCookie path:"/" isSecure:TRUE>, <NSHTTPCookie path:"/" isSecure:TRUE>, <NSHTTPCookie getCookie= <NSHTTPCookie getCookie= <NSHTTPCookie getCookie= <NSHTTPCookie setCookieSet= ["Set-Cookie": "test2=2test; expires=Wed, 06-Apr-2022 04:23:29 GMT; sessionOnly=FALSE; Secure"] setCookie= [<NSHTTPCookie getCookies= [<NSHTTPCookie path:"/" isSecure:TRUE>, <NSHTTPCookie path:"/" isSecure:TRUE>, <NSHTTPCookie getCookie= <NSHTTPCookie getCookie= <NSHTTPCookie getCookie= <NSHTTPCookie

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。