gpt4 book ai didi

json - 尝试使用 Swift 中的 Json token 从服务器获取身份验证

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

我在 Swift 应用程序中添加登录进程,并添加以下代码来处理 Json token 身份验证

 class func getValidationFromServer(success: ((svrData: NSData!) -> Void)) {
var usrName = ViewController.gVariables.gUser
var pwd = ViewController.gVariables.gPwd
var postData = NSMutableData(data: "username=\(usrName)".dataUsingEncoding(NSUTF8StringEncoding)!)
postData.appendData("&password=\(pwd)".dataUsingEncoding(NSUTF8StringEncoding)!)
postData.appendData("&grant_type=password".dataUsingEncoding(NSUTF8StringEncoding)!)

var request = NSMutableURLRequest(URL: NSURL(string: "http://api.mip.local/oauth/token")!,
cachePolicy: .UseProtocolCachePolicy,
timeoutInterval: 10.0)
request.HTTPMethod = "POST"
request.HTTPBody = postData

let session = NSURLSession.sharedSession()
let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
ViewController.gVariables.gUser = "Error - \(error) "
} else {
let httpResponse = response as? NSHTTPURLResponse
ViewController.gVariables.gUser = response.description
}
})
}

当应用程序运行时,它到达let dataTask..行并直接越过它,因此没有响应。我被告知我有正确的网址,我在登录时通过模拟器运行应用程序,所以肯定还有其他地方我做错了。

最佳答案

我认为您需要下面的异步 POST 请求代码

    let urlPath: String = "http://api.mip.local/oauth/token"
var url: NSURL = NSURL(string: urlPath)!
var postData = NSMutableData(data: "username=\(usrName)".dataUsingEncoding(NSUTF8StringEncoding)!)
postData.appendData("&password=\(pwd)".dataUsingEncoding(NSUTF8StringEncoding)!)
postData.appendData("&grant_type=password".dataUsingEncoding(NSUTF8StringEncoding)!)
var request1: NSMutableURLRequest = NSMutableURLRequest(URL: url)
request1.HTTPMethod = "POST"
request1.timeoutInterval = 60
request1.HTTPBody=postData
request1.HTTPShouldHandleCookies=false

let queue:NSOperationQueue = NSOperationQueue()

NSURLConnection.sendAsynchronousRequest(request1, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
var err: NSError
var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
println("AsSynchronous\(jsonResult)")
})

关于json - 尝试使用 Swift 中的 Json token 从服务器获取身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30664695/

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