Răsfoiți Sursa

fix cookies

alqindiirsyam 1 an în urmă
părinte
comite
aef575438a

+ 17 - 4
appbuilder-ios/NexilisLite/NexilisLite/Source/Download.swift

@@ -58,8 +58,21 @@ public class Download {
                 sep = "/"
             }
             let fullURL = "\(baseURL)\(sep)\(filename)"
+            //print("FULL URL: \(fullURL)")
+            let BOUNDARY = "esuploader-" + "\(Date().currentTimeMillis())"
+            let MIME_TYPE = "multipart/form-data; boundary=" + BOUNDARY
+            let headers: HTTPHeaders = [
+                "Content-Type": MIME_TYPE,
+                "Host": Utils.getURLBase().components(separatedBy: "/")[2],
+                "Accept-Encoding": "gzip, deflate, br",
+                "Connection": "Keep-Alive",
+                "Accept": "*/*",
+                "User-Agent": Utils.getUserAgent(),
+                "Cookie": Utils.getCookiesMobile()
+            ]
+            //print("HEADER: \(headers)")
             do {
-                let downloadRequest = AF.download(fullURL)
+                let downloadRequest = AF.download(fullURL, headers: headers)
                 .downloadProgress(queue: downloadBufferQueue) { progress in
                     let frac = progress.fractionCompleted*100
                     if frac != 100.0 {
@@ -67,8 +80,8 @@ public class Download {
                     }
                 }
                 .responseData { result in
-                    if let successResponse = result.value {
-                        //print("Response success")
+                    if let response = result.response, response.statusCode == 200, let successResponse = result.value {
+                        print("Response success")
                         do {
                             let documentDir = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
                             let url = documentDir.appendingPathComponent(filename)
@@ -81,7 +94,7 @@ public class Download {
                     }
                     else {
                         let statusCode = result.response?.statusCode
-                        //print("Response fail: \(statusCode)")
+                        print("Response fail: \(statusCode)")
                         completion(filename,0)
                     }
                 }

+ 6 - 6
appbuilder-ios/NexilisLite/NexilisLite/Source/Nexilis.swift

@@ -599,9 +599,9 @@ public class Nexilis: NSObject {
             
             let cookies = HTTPCookie.cookies(withResponseHeaderFields: fields, for: url)
             HTTPCookieStorage.shared.setCookies(cookies, for: url, mainDocumentURL: nil)
-//             if let cookieHeader = HTTPCookie.requestHeaderFields(with: cookies)["Cookie"] {
-//                 Utils.setCookiesMobile(value: cookieHeader)
-//             }
+             if let cookieHeader = HTTPCookie.requestHeaderFields(with: cookies)["Cookie"] {
+                 Utils.setCookiesMobile(value: cookieHeader.replacingOccurrences(of: "; ", with: ";"))
+             }
 
             let dataEncode = String(data: data, encoding: .utf8)!
 //            print("dataEncode \(dataEncode.trimmingCharacters(in: .whitespacesAndNewlines))")
@@ -659,9 +659,9 @@ public class Nexilis: NSObject {
                     
                     let cookies = HTTPCookie.cookies(withResponseHeaderFields: fields, for: url)
                     HTTPCookieStorage.shared.setCookies(cookies, for: url, mainDocumentURL: nil)
-//                     if let cookieHeader = HTTPCookie.requestHeaderFields(with: cookies)["Cookie"] {
-//                         Utils.setCookiesMobile(value: cookieHeader)
-//                     }
+                     if let cookieHeader = HTTPCookie.requestHeaderFields(with: cookies)["Cookie"] {
+                         Utils.setCookiesMobile(value: cookieHeader.replacingOccurrences(of: "; ", with: ";"))
+                     }
                     
                     result = true
                 }

+ 6 - 6
appbuilder-ios/NexilisLite/NexilisLite/Source/Utils.swift

@@ -313,12 +313,12 @@ public final class Utils {
         var request = URLRequest(url: url)
         request.httpMethod = "GET"
         request.setValue(Utils.getUserAgent(), forHTTPHeaderField: "User-Agent")
-        let cookies = HTTPCookieStorage.shared.cookies ?? []
-        if let cookieHeader = HTTPCookie.requestHeaderFields(with: cookies)["Cookie"] {
-//        print("listCookiee: \(cookieHeader)")
-           request.setValue(cookieHeader, forHTTPHeaderField: "Cookie")
-        }
-//        request.setValue(Utils.getCookiesMobile(), forHTTPHeaderField: "Cookie")
+//        let cookies = HTTPCookieStorage.shared.cookies ?? []
+//        if let cookieHeader = HTTPCookie.requestHeaderFields(with: cookies)["Cookie"] {
+////        print("listCookiee: \(cookieHeader)")
+//           request.setValue(cookieHeader, forHTTPHeaderField: "Cookie")
+//        }
+        request.setValue(Utils.getCookiesMobile(), forHTTPHeaderField: "Cookie")
 //        print("DATA SEND MOBILE \(Utils.getUserAgent()) <> \(Utils.getCookiesMobile())")
         let task = URLSession.shared.dataTask(with: request, completionHandler: completion)
         task.resume()