我試圖使用URLSessionDataTask
來訪問我的後端API。其中一部分包括訪問使用Safari存儲的Cookie。使用URLSessionDataTask時,Cookie不存在
例如,在後臺爲http://api.example.com/v1/getCookies
PHP代碼是
echo $_COOKIE["myCookieName"];
的餅乾iOS上的Safari瀏覽器確實存在,但是當一個URLSessionDataTask
請求發送到網站製作
let url: URL = URL(string: "http://api.example.com/v1/getCookies")!
let task = Foundation.URLSession(
configuration: URLSessionConfiguration.default,
delegate: self,
delegateQueue: OperationQueue.main
).dataTask(with: url)
task.resume()
代替作爲對請求的響應發送的cookie的值,響應是cookie未被設置。好像來自URLSessions的Cookie與Safari中的Cookie分開。
Cookie存儲在域.example.com
和路徑/
下。
有沒有什麼辦法可以從我的應用程序訪問在Safari上設置的Cookie?例如,我想是這樣的工作(我做的更復雜的東西,但是這實質上顯示我想什麼去上班)
- 用戶訪問example.com和選擇一個暱稱
- 用戶選擇的暱稱存儲在cookie
- 用戶決定下載example.com移動應用
- 的應用發出example.com的請求,並存儲在cookie中返回的綽號
有沒有辦法做這樣的事情? HTTPCookie.cookies
和HTTPCookieStorage.shared.cookies
都不起作用。
不幸的是,這並不工作,我得到了相同的結果 – Jojodmo