gpt4 book ai didi

java - NSURLSession 从 Servlet 获取响应

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

目前,我正在使用 NSURLSession 和 HTTPPost 方法将数据上传到 Java servlet。 java servlet 将解析接收到的数据并将其更新到数据库中。

let dataTest:NSData = dao.readStringFromDb().data
let request = NSMutableURLRequest(URL: NSURL(string: urlSubmit)!)
request.HTTPMethod = "POST"
request.addValue("multipart/form-data", forHTTPHeaderField: "Accept")
request.HTTPBody = dataTest
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
print("Response: \(response)")})
task.resume()
}

在更新过程中(在Java中),根据不同的条件将不同的状态标志更新到数据库中。现在,我的要求是获取从 Web 服务器返回的状态并在本地显示。

我知道我可以再次使用 HTTPGet 方法,传递键值并获取状态标志。

我正在尝试探索是否有任何回调处理程序可用于 java servlet,例如 javascript 中可用的回调处理程序。

任何建议都会非常有帮助。

问候。

最佳答案

您已经实现了回调来处理响应。

为了获得响应代码,您所要做的就是:

将响应转换为 NSHTTPURLResponse 然后调用 statusCode 属性

所以你的代码是:

let task = session.dataTaskWithRequest(request, completionHandler: {(data, response ,error ) in
if let response = response {
let httpResponse = response as! NSHTTPURLResponse
print("response code = \(httpResponse.statusCode)")
}
})
task.resume()

你在 clouser 中调用 task.resume() 时出错,我也修复了它。

别忘了检查错误

关于java - NSURLSession 从 Servlet 获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33342319/

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