我将如何从服务器获取标头以检查状态代码是200、404等等?
我有一个代表班:
class DownloadDelegate : NSObject, URLSessionDelegate, URLSessionDownloadDelegate, URLSessionTaskDelegate {
// Implementations of delegate methods:
[...]didFinishDownloadingTo location: URL[...]
[...]didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64[...]
}但我不知道我能在哪里提取头像。
发布于 2016-11-23 13:26:03
urlSession(_:downloadTask:didFinishDownloadingTo:)为您提供了标题。
参数downloadTask具有类型为URLResponse的属性.response。
假设您使用的是HTTP/HTTPS,则可以将其转换为HTTPURLResponse。
每当您发出HTTP请求时,返回的NSURLResponse对象实际上是HTTPURLResponse类的一个实例。 (资料来源:URLResponse的API参考)
HTTPURLResponse具有获取状态代码(statusCode)和所有标头字段为[AnyHashable: Any] (allHeaderFields)的属性。
示例:
func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
guard let response = downloadTask.response as? HTTPURLResponse else {
return //something went wrong
}
let status = response.statusCode
let completeHeader = response.allHeaderFields
}https://stackoverflow.com/questions/40765411
复制相似问题