Hallo,
wie man dem Titel bereits entnehmen kann habe ich ein Problem mit einem GET-Request auf einem meiner ViewController und zwar benötigt man auf diesem ViewController ca. 8 Sekunden bis das JSON-Paket ausgelesen wird bzw. der Server eine Antwort bekommt. Jetzt habe ich nach diversen Tests bereits heraus gefunden das der Server keine 8 Sekunden für eine Antwort braucht, sondern erst nach 8 Sekunden die Anfrage der App erhält. Der Server läuft auch absolut rund. Doch hier vielleicht erstmal zum relevanten Code:
Alles anzeigen
So nun habe ich bereits verschiedenste Dinge ausprobiert und dabei ist mir aufgefallen dass das Problem wohl nicht an der GET-Methode liegt sondern eher an forHTTPHeaderField. Zumindest erfolgt das auslesen der Daten und die Antwort des Servers weitaus schneller wenn ich diese Zeilen auskommentiere und Serverseitig keinen Token mehr abverlange. Ich hatte. auch schon spaßeshalber den Token dann mal direkt an die URL gehangen und dieser wurde auch übergeben, womit ich ausschließen kann das es am Token an sich liegt.
Es scheint wohl irgendein Problem mit forHTTPHeaderField zu sein was ich mir jedoch kein Stück erklären kann.
Kennt sich jemand mit solchen Problemen aus oder hat bereits selber Erfahrungen damit gemacht ? Würde mich über jeden Tipp freuen
wie man dem Titel bereits entnehmen kann habe ich ein Problem mit einem GET-Request auf einem meiner ViewController und zwar benötigt man auf diesem ViewController ca. 8 Sekunden bis das JSON-Paket ausgelesen wird bzw. der Server eine Antwort bekommt. Jetzt habe ich nach diversen Tests bereits heraus gefunden das der Server keine 8 Sekunden für eine Antwort braucht, sondern erst nach 8 Sekunden die Anfrage der App erhält. Der Server läuft auch absolut rund. Doch hier vielleicht erstmal zum relevanten Code:
Quellcode
- let baseURL = URL(string: "https://www.softcarl.de/v0.1/subscribers.php")!
- var request = URLRequest(url: baseURL)
- request.httpMethod = "GET"
- request.setValue(login_session, forHTTPHeaderField: "Authorization")
- request.httpBody = login_session.data(using: String.Encoding.utf8)
- let task = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) in
- guard let data = data else { return }
- let decoder = JSONDecoder()
- self.items = (try? decoder.decode(RootElement2.self, from: data)) ?? RootElement2()
- self.savedUsers.append(contentsOf: self.items.data)
- print(self.items)
- DispatchQueue.main.async {
- self.peopleTableView.reloadData()
- }
- }
- task.resume()
Es scheint wohl irgendein Problem mit forHTTPHeaderField zu sein was ich mir jedoch kein Stück erklären kann.
Kennt sich jemand mit solchen Problemen aus oder hat bereits selber Erfahrungen damit gemacht ? Würde mich über jeden Tipp freuen