0

我正在尝试加载重定向的 URL。它在 Mac OS 上运行良好,但是当我使用 Kitura 1.4 服务器 Swift 3.0.2 将它推送到 Bluemix 时,我收到以下加载错误:
The operation could not be completed

这是我的相关代码:

…
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。

有谁知道如何解决这个问题?

4

1 回答 1

2

(这可能是一个评论,但我仍然没有足够的声誉!)

是的,重定向支持尚未在 Swift Foundation 中实现。很久以前打开了一个相关的错误报告 - https://bugs.swift.org/browse/SR-2678

于 2017-01-03T09:45:40.997 回答