GET Request zu langsam

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • GET Request zu langsam

    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:

    Quellcode

    1. let baseURL = URL(string: "https://www.softcarl.de/v0.1/subscribers.php")!
    2. var request = URLRequest(url: baseURL)
    3. request.httpMethod = "GET"
    4. request.setValue(login_session, forHTTPHeaderField: "Authorization")
    5. request.httpBody = login_session.data(using: String.Encoding.utf8)
    6. let task = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) in
    7. guard let data = data else { return }
    8. let decoder = JSONDecoder()
    9. self.items = (try? decoder.decode(RootElement2.self, from: data)) ?? RootElement2()
    10. self.savedUsers.append(contentsOf: self.items.data)
    11. print(self.items)
    12. DispatchQueue.main.async {
    13. self.peopleTableView.reloadData()
    14. }
    15. }
    16. task.resume()
    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 :)
  • ja login_session ist ein String. Habe nach deinem Kommentar mal die Zeile mit dem http Body rausgenommen und siehe da es geht schön schnell :D
    Lag wohl wirklich daran. Vermutlich brauche ich die Zeile gar nicht da es sich bei login_session eh schon um einen String handelt oder ?

    Hatte das sonst immer nur mit reingehauen da ich normerlweise POST verwende und da nie was an der Geschwindigkeit des auslesen gemerkt habe :)
    Vielen Dank aber schon mal !!!