在URLSession中获取响应正文可以通过以下步骤实现:
dataTask(with:completionHandler:)
方法发送请求,并在闭包中处理响应。data
属性来获取响应正文的数据。以下是一个示例代码,展示了如何在URLSession Swift中获取响应正文:
// 1. 创建一个URL对象
guard let url = URL(string: "https://example.com/api/data") else {
print("Invalid URL")
return
}
// 2. 创建一个URLSession对象
let session = URLSession.shared
// 3. 创建一个URLSessionDataTask对象
let dataTask = session.dataTask(with: url) { (data, response, error) in
// 5. 检查响应状态码和错误
guard let httpResponse = response as? HTTPURLResponse,
httpResponse.statusCode == 200,
error == nil else {
print("Error: \(error?.localizedDescription ?? "Unknown error")")
return
}
// 6. 获取响应正文的数据
if let responseData = data {
// 7. 进一步处理响应正文的数据
let responseString = String(data: responseData, encoding: .utf8)
print("Response: \(responseString ?? "")")
}
}
// 4. 发送请求
dataTask.resume()
在这个示例中,我们使用URLSession.shared
创建了一个默认的URL会话对象。然后,我们创建了一个URLSessionDataTask
对象,并使用dataTask(with:completionHandler:)
方法发送请求。在闭包中,我们首先检查响应的状态码和错误,然后获取响应正文的数据,并进行进一步处理。
请注意,这只是一个简单的示例,实际应用中可能需要处理更多的错误和异常情况,并根据具体需求进行适当的数据处理和解析。
领取专属 10元无门槛券
手把手带您无忧上云