如何在Alamofire中設置Cookie,以便每當我殺死應用程序並重新啓動時,都會發送相同的cookie?如何在alamofire中設置Cookie?
2
A
回答
3
使用NSHTTPCookie
[cookiesWithResponseHeaderFields(_:forURL :)]方法從響應中獲取Cookie。
// setCookies
func setCookies(cookies: NSHTTPCookie){
Alamofire.Manager.sharedInstance.session.configuration.HTTPCookieStorage?.setCookies(cookies, forURL: response.URL!, mainDocumentURL: nil)
}
// getCookies
func getCookies() {
let parameters: [String: AnyObject] = [:]
Alamofire.request(.POST, "http://test.com/test", parameters: parameters).responseJSON { response in
if let
header = response.response?.allHeaderFields as? [String: String],
URL = response.request?.URL
{
let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(header, forURL: URL)
print(cookies)
}
}
}
夫特3:
func setCookies(cookies: HTTPCookie){
Alamofire.SessionManager.default.session.configuration.httpCookieStorage?.setCookies(cookies, forURL: URL, mainDocumentURL: nil)
}
Alamofire.request(url, method: HTTPMethod.post, parameters: parameters).responseData { (responseObject) -> Void in
if let resposecode = responseObject.response?.statusCode {
if resposecode != 200 {
// error
} else {
// view all cookies
print(HTTPCookieStorage.shared.cookies)
}
}
}
0
夫特3.0
let cookies = HTTPCookie.cookies(withResponseHeaderFields: response.allHeaderFields , for: response.URL!)
Alamofire.Manager.sharedInstance.session.configuration.HTTPCookieStorage?.setCookies(cookies, forURL: URL, mainDocumentURL: nil)
Alamofire實例共享單,所以對於所有請求設置cookie。 希望它適合你。
1
是否這樣?
let httpCookie = HTTPCookie.init(properties:
[HTTPCookiePropertyKey.version : "0",
HTTPCookiePropertyKey.name : "MYTestID",
HTTPCookiePropertyKey.value : "983724dd3dea4924b8d675b0df08b611",
HTTPCookiePropertyKey.expires : "2027-05-13 09:21:23 +0000"])
if let cookie = httpCookie {
HTTPCookieStorage.shared.setCookie(cookie)
}
0
if let fields = response.response?.allHeaderFields as? [String : String]{
let cookies = HTTPCookie.cookies(withResponseHeaderFields: fields, for: (response.request?.url!)!)
HTTPCookieStorage.shared.setCookies(cookies, for: (response.request?.url!)!, mainDocumentURL: nil)
}
相關問題
- 1. 如何在Alamofire中設置requestSerializer
- 2. 未在Cookie中設置Cookie
- 3. 如何設置cookie?
- 4. 如何在wordpress中設置cookie?
- 5. 如何在java中設置多個cookie?
- 6. 如何在jquery中設置cookie?
- 7. 如何在zend框架中設置cookie?
- 8. 如何在Android WebView中設置Cookie
- 9. ZF2 - 如何在模型中設置cookie?
- 10. 如何在kohana框架中設置cookie
- 11. 如何在laravel 5.4中設置cookie?
- 12. 如何在PHPSESSID cookie中設置PATH?
- 13. 如何在wordpress中設置cookie一週?
- 14. 如何在JSTL中設置cookie
- 15. 如何在nodejs中設置多個cookie?
- 16. 如何在Rack :: MockRequest中設置Cookie?
- 17. 如何在http請求中設置cookie?
- 18. 如何在django中設置登錄cookie?
- 19. 如何在BaseHttpServer中設置多個Cookie?
- 20. 如何在ApplicationController中設置Cookie?
- 21. 如何手動在urllib2中設置Cookie?
- 22. 如何在Goutte中設置Cookie?
- 23. 如何在地址欄中設置cookie?
- 24. 如何在PHP中取消cookie設置?
- 25. 如何在php中設置cookie?
- 26. 如何在JSON Cookie中設置變量?
- 27. 如何在OkHttp中設置cookie格式?
- 28. 如何在Symfony2中設置推薦cookie?
- 29. 如何在Sinatra中設置Cookie
- 30. 如何在SSP Netsuite中設置cookie?
分享你的源代碼,你試過這個 – Krunal