2016-12-23 2 views
0

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 completedProbleme 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?

+0

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

Antwort

2

(Dies könnte ein Kommentar gewesen ist, aber ich habe immer noch nicht genug Ruf!)

Ja, Umleitung Unterstützung noch in Swift Foundation umgesetzt werden soll. Es gibt einen zugehörigen Fehlerbericht, der vor einiger Zeit geöffnet wurde - https://bugs.swift.org/browse/SR-2678

+0

Danke, ich habe versucht, diesmal auf bugs.swift.org zu suchen, habe aber nichts gefunden, offensichtlich muss ich besser nach Fehlerberichten suchen. :) –