gpt4 book ai didi

ios - 如何在 Swift 中查看来自 HTTP GET 请求的服务器响应?

转载 作者:搜寻专家 更新时间:2023-11-01 07:21:57 24 4
gpt4 key购买 nike

我正在使用 RESTless API 进行数据库查询以检查唯一用户名和电子邮件等内容。但是,与获取返回字典相比,我不确定如何从响应中获取服务器代码。对于某些搜索,如果没有找到结果,它会返回 404 和一个非空字典。所以我不能简单地检查返回的字典是否为空。

do {
request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(data, options: .PrettyPrinted)
}
catch {
print("failure")
}
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")

let task = session.dataTaskWithRequest(request) {
data, response, error in

// Check for error
if error != nil
{
print("error=\(error)")
return
}

// Print out response string
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")


// Convert server json response to NSDictionary
do {
if let convertedJsonIntoDict = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {

// Print out dictionary
print(convertedJsonIntoDict)
convertedDict = convertedJsonIntoDict
}
}
catch let error as NSError {
print(error.localizedDescription)
}

}

task.resume()

return convertedDict ?? nil

最佳答案

在传递给完成处理程序的 response 对象中有关于响应的数据。对于 HTTP/HTTPS 请求,它是一个 NSHTTPURLResponse,其中包含一个您可以访问的 statusCode 属性。

let task = session.dataTaskWithRequest(request) {
data, response, error in

if let httpResponse = response as? NSHTTPURLResponse {
let statusCode = httpResponse.statusCode
// do whatever with the status code
}

...
}

关于ios - 如何在 Swift 中查看来自 HTTP GET 请求的服务器响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38446610/

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