我正在嘗試加載重定向的URL。它工作正常,在Mac OS,但是當我把它用Kitura 1.4服務器Bluemix,斯威夫特3.0.2我得到以下加載錯誤:
The operation could not be completed
涉及Swift 3.0.2的重定向URL的問題
這裏是我的相關代碼:
…
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()
我實際上並不關心迴應;我只想要重定向的網址。這就是爲什麼我需要「HEAD」,但「GET」具有相同的行爲,即在Mac OS上正常工作,但不適用於Bluemix。
我還沒有想出一個解決方法。我不知道這是Swift/Foundation還是Kitura中的錯誤,或者Bluemix是否阻止了重定向的URL。
任何人都知道如何解決這個問題?
據我所知,URLSession的某些部分在Linux上尚不可用。我不是Kitura用戶,但看起來他們有自己的客戶端請求類「ClientRequest」。 – Moritz