Guest User

Untitled

a guest
Mar 22nd, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. func login_now(username:String, password:String)
  2. {
  3. let post_data: NSDictionary = NSMutableDictionary()
  4.  
  5.  
  6. post_data.setValue(username, forKey: "username")
  7. post_data.setValue(password, forKey: "password")
  8.  
  9. let url:URL = URL(string: login_url)!
  10. let session = URLSession.shared
  11.  
  12. let request = NSMutableURLRequest(url: url)
  13. request.httpMethod = "POST"
  14. request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData
  15.  
  16. var paramString = ""
  17.  
  18.  
  19. for (key, value) in post_data
  20. {
  21. paramString = paramString + (key as! String) + "=" + (value as! String) + "&"
  22.  
  23. }
  24. let endIndex = paramString.index(paramString.endIndex, offsetBy: -1)
  25. let truncated = paramString.substring(to: endIndex)
  26. paramString=truncated
  27. print(paramString) // This won't consist of last &
  28. request.httpBody = paramString.data(using: String.Encoding.utf8)
  29.  
  30. let task = session.dataTask(with: request as URLRequest, completionHandler: {
  31. (
  32. data, response, error) in
  33.  
  34. guard let _:Data = data, let _:URLResponse = response , error == nil else {
  35.  
  36. return
  37. }
  38.  
  39.  
  40.  
  41. let json: Any?
  42.  
  43. do
  44. {
  45. json = try JSONSerialization.jsonObject(with: data!, options: [])
  46.  
  47. guard let server_response = json as? NSDictionary else
  48. {
  49. return
  50. }
  51.  
  52.  
  53. if let data_block = server_response["data"] as? NSDictionary
  54. {
  55. if let session_data = data_block["session"] as? String
  56. {
  57. self.login_session = session_data
  58.  
  59. let preferences = UserDefaults.standard
  60. preferences.set(session_data, forKey: "session")
  61.  
  62. DispatchQueue.main.async(execute: self.LoginDone)
  63. }
  64. }
  65.  
  66.  
  67.  
  68. })
  69.  
  70. task.resume()
  71.  
  72.  
  73. }
Add Comment
Please, Sign In to add comment