gpt4 book ai didi

swift - 从午睡响应中获取 HTTPURLResponse

转载 作者:行者123 更新时间:2023-11-30 11:25:09 26 4
gpt4 key购买 nike

我正在与执行 304 重定向的 REST API 作斗争;我需要的是获取重定向的目标 URL 并用浏览器打开它(我知道,这有点变态)。我成功拦截了重定向,感谢这个好小伙子reversepanda: https://github.com/bustoutsolutions/siesta/issues/210但我仍然没有弄清楚如何在 GET 请求的回调中获取重定向 url(成功或失败)

resource.load().onSuccess{ response in
//HERE I WOULD LIKE TO TAKE THE URL OF THE REDIRECT
//(if I print the response I can see the HTML of the destination web page where the user should land)
}.onFailure{ error in
//using 'completionHandler(nil)' in the 'willPerformHTTPRedirection' method of the delegate, brings me here
}

关于如何解决这个问题有什么建议吗?

谢谢!

最佳答案

看看 RequestChain.swift 内部,它有一些注释和示例,可以提供帮助。我相信你可以做这样的事情:

func redirectRequest() -> Request {
return self.yourAnotherRequest(onSuccess: {
}, onFailure: { error in
})
}

func yourRequest(request: Siesta.Request) -> Request {
return request.chained {
guard case .failure(let error) = $0.response,
error.httpStatusCode == 401 else {
return .useThisResponse
}

return .passTo(
self.redirectRequest().chained {
if case .failure = $0.response {
return .useThisResponse
} else {
return .passTo(request.repeated())
}
}
)
}
}

您可以在 Siesta 来源中使用关键字 chaineduseThisResponsepassTo 搜索更多示例。

请告诉我们这是否有助于解决您的问题,很高兴看到您的最终解决方案。

关于swift - 从午睡响应中获取 HTTPURLResponse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50818023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com