2016-12-23 5 views
0

リダイレクトするURLをロードしようとしています。私は、次のロードエラーを取得することは、Mac OS上で正常に動作しますが、私はKitura 1.4サーバーを使用してBluemixするためにそれを押すと、スウィフト3.0.2:ここ
The operation could not be completedSwift 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をブロックしているかどうかは分かりません。

これを修正する方法を知っている人はいますか?

+0

私が知る限り、URLSessionのいくつかの部分はLinuxではまだ利用できません。私はKituraのユーザーではありませんが、クライアントリクエストのための独自のクラス「ClientRequest」を持っているようです。 – Moritz

答えて

2

(これはコメントしてきた可能性がありますが、私はまだ十分な評判を持っていない!)

はい、リダイレクトのサポートはまだスウィフト財団に実装されます。かなり前に開かれた関連するバグレポートがあります - https://bugs.swift.org/browse/SR-2678

+0

ありがとう、実際には今回はbugs.swift.orgで検索しようとしましたが、何も見つけられませんでしたが、明らかにバグレポートを探し出すのが良いでしょう。 :) –

関連する問題