リダイレクトする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()
私は実際に応答に気にしません。私はリダイレクトされたURLがほしいだけです。だから私は "HEAD"をしているが、 "GET"は同じ動作をしている、つまりMac OSではうまく動作するが、Bluemixでは動作しない。
解決方法がわかりません。 Swift/Foundation、KituraのバグかBluemixがリダイレクトされたURLをブロックしているかどうかは分かりません。
これを修正する方法を知っている人はいますか?
私が知る限り、URLSessionのいくつかの部分はLinuxではまだ利用できません。私はKituraのユーザーではありませんが、クライアントリクエストのための独自のクラス「ClientRequest」を持っているようです。 – Moritz