0

我有这段代码来获取 X-Transmission-Session-Id 但现在我需要使用更新的标头重新发送请求。

function takeXTransmissionSessionId( ){

    let urls = NSURL(string: "\(url)")
    let task = NSURLSession.sharedSession().dataTaskWithURL(urls!) { (data, respornse, error) -> Void in

        guard error == nil && data != nil else {

            print("error=\(error!)")

            let alertView = UIAlertController(title: "ERROR", message: "A server with the specified hostname could not be found.", preferredStyle: UIAlertControllerStyle.Alert)
            let actionView = UIAlertAction(title: "OK", style: UIAlertActionStyle.Cancel, handler: nil)
            alertView.addAction(actionView)
            self.presentViewController(alertView, animated: true, completion: nil)

            return
        }

        if let httpStatus = respornse as? NSHTTPURLResponse where httpStatus.statusCode != 200 {

            let sesionID = httpStatus.allHeaderFields["X-Transmission-Session-Id"]

            if sesionID == nil {

                let alertView = UIAlertController(title: "ERROR", message: "The request has not been applied because it lacks valid authentication credentials for the target resource.", preferredStyle: UIAlertControllerStyle.Alert)
                let actionView = UIAlertAction(title: "OK", style: UIAlertActionStyle.Cancel, handler: nil)
                alertView.addAction(actionView)
                self.presentViewController(alertView, animated: true, completion: nil)

            }else{

                //print("\(respornse!)")
                //print("\(sesionID!)")
                self.XTransmissionSessionId = "\(sesionID!)"

            }

        }

    }

    task.resume()

}

我的问题是我以不同的方式多次托盘,但我不知道我需要做什么。

谢谢!

4

1 回答 1

0

这是做我需要的代码:

request.HTTPMethod = "POST"
    request.addValue("\(XTransmissionSessionId)", forHTTPHeaderField: "X-Transmission-Session-Id")
于 2016-03-10T19:13:13.550 回答