Hi,
eine von mir zu entwickelnde App muss an ein PHP Backend per POST Daten senden. Das PHP Backend möchte gerne die POST Daten komprimiert bekommen und benutzt PHP gzinflate. Auf der php.net Seite ist auch ein toller Beispielcode für Android der von unseren Android Entwicklern auch genau so benutzt wird. Ich suche nun nach einer Möglichkeit das selbe in iOS zu machen. Meine bisherigen Versuche sind alle gescheitert. Hier ist meine Function:
Alles anzeigen
Natürlich schlägt der Aufruf fehl, denn ich (so vermute ich zumindest) komprimiere ja nichts, sondern setze nur einen Header. Ich habe keine Idee wie ich die Postdaten komprimieren soll, damit das Backend diese Entgegen nimmt. Hat hier vielleicht jemand eine Lösung für mich?
Vielen Dank im voraus
Dirk
eine von mir zu entwickelnde App muss an ein PHP Backend per POST Daten senden. Das PHP Backend möchte gerne die POST Daten komprimiert bekommen und benutzt PHP gzinflate. Auf der php.net Seite ist auch ein toller Beispielcode für Android der von unseren Android Entwicklern auch genau so benutzt wird. Ich suche nun nach einer Möglichkeit das selbe in iOS zu machen. Meine bisherigen Versuche sind alle gescheitert. Hier ist meine Function:
Quellcode
- func requestBLELocation(uuid:[String], major:[Int32], minor:[Int32], rssi:[Int]) {
- let url = URL(string: "https://myurl.de/")!
- var request = URLRequest(url: url)
- request.setValue("deflate", forHTTPHeaderField: "Content-encoding")
- request.setValue("application/octet-stream", forHTTPHeaderField: "Content-type")
- request.httpMethod = "POST"
- var postString = ""
- for v in 0...uuid.count-1 {
- postString = postString + "uuid=\(uuid[v])&major=\(major[v])&minor=\(minor[v])&level=\(rssi[v])|"
- }
- request.httpBody = postString.data(using: .utf8)
- let task = URLSession.shared.dataTask(with: request) { data, response, error in
- guard let data = data, error == nil else { // check for fundamental networking error
- print("error=\(String(describing: error))")
- return
- }
- if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
- print("statusCode should be 200, but is \(httpStatus.statusCode)")
- print("response = \(String(describing: response))")
- }
- let responseString = String(data: data, encoding: .utf8)
- print("responseString = \(String(describing: responseString!))")
- }
- task.resume()
- }
Vielen Dank im voraus
Dirk