Ich versuche, eine URL zu laden, die umleitet. Es funktioniert auf Mac OS, aber wenn ich es schieben Bluemix Kitura 1.4-Server verwenden, Swift 3.0.2 bekomme ich die folgenden Ladefehler:
The operation could not be completed
Probleme mit umgeleiteten URLs mit Swift 3.0.2
Hier ist mein entsprechender Code:
…
let gShort = URL(string: "https://blabla.bl/blabla")! // Because SO don't want shortened urls in the example
var request = URLRequest(url: gShort, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 3)
request.httpMethod = "HEAD"
let dataTask = URLSession(configuration: URLSessionConfiguration.default)
.dataTask(with: request, completionHandler: { data, loadResponse, error in
guard let redirected = loadResponse?.url else {
…
}
})
dataTask.resume()
Ich interessiere mich nicht wirklich für die Antwort; Ich möchte nur die umgeleitete URL. Deshalb habe ich "HEAD", aber "GET" hat das gleiche Verhalten, d. H. Funktioniert unter Mac OS, funktioniert aber nicht mit Bluemix.
Ich habe keine Problemumgehung gefunden. Ich weiß nicht, ob es ein Fehler in Swift/Foundation oder Kitura ist oder ob Bluemix umgeleitete URLs blockiert.
Wer weiß, wie das zu beheben?
Soweit ich weiß, sind einige Teile von URLSession noch nicht unter Linux verfügbar. Ich bin kein Kitura-Benutzer, aber es sieht so aus, als hätten sie ihre eigene Klasse für Client-Anfragen, "ClientRequest". – Moritz