Ahmed Halim
Ahmed Halim

Reputation: 7

Set Cookies to HTTP POST Requests from Swift NSURLSession

I'm trying to use the below code but it doesn't work! Any Idea

    let jar = NSHTTPCookieStorage.sharedHTTPCookieStorage()

    let cookieHeaderField = ["Cookie": self.CookieValue] // var CookieValue = String()
    let url = URL
    let parameters = ""
    let postData:NSData = parameters.dataUsingEncoding(NSASCIIStringEncoding)!

    let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(cookieHeaderField, forURL: NSURL(string: url)!)
    jar.setCookies(cookies, forURL: NSURL(string: url), mainDocumentURL: NSURL(string: url))
    let request = NSMutableURLRequest(URL: NSURL(string: url)!)
    request.HTTPMethod = "POST"
    request.HTTPBody = postData
    let session = NSURLSession.sharedSession()

Upvotes: 0

Views: 2768

Answers (1)

Umar Farooque
Umar Farooque

Reputation: 2059

try this for setting cookies and for better usage understanding.

Below is the swift part for setting up cookie.

let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(response.allHeaderFields as NSDictionary as! [String : String], forURL: response.URL!)

NSHTTPCookieStorage.sharedHTTPCookieStorage().setCookies(cookies, forURL: response.URL!, mainDocumentURL: nil)

Upvotes: 1

Related Questions