Jam*_*s H 11 rest http swift swift2
任何人都知道如何在Swift中使用NSURLRequest配置HTTP标头?我在我的服务器上设置了身份验证,它只需要传递给它的令牌,但我在设置标头时遇到问题
我的代码:
func getLatestData() {
var loggedInUsersNumber:String = SharingManager.sharedInstance.userID
var usersDataPoint:String = StormDataPoint + loggedInUsersNumber
activityIND.hidden = false
activityIND.startAnimating()
let request = NSURLRequest(URL: NSURL(string: usersDataPoint)!)
let tokenString = SharingManager.sharedInstance.authToken
//request.setValue("Token " + tokenString, forKey: "Authorization")
let urlSession = NSURLSession.sharedSession()
let task = urlSession.dataTaskWithRequest(request, completionHandler: {
(data, response, error) -> Void in
if let error = error {
print(error)
return }
Run Code Online (Sandbox Code Playgroud)
我创建了一个属性"tokenString"作为传递到标题的标记,并在我评论它的下一行.request.setvalue - 我弹出它并得到"无法覆盖数据类型"的错误.我的所有搜索都显示了Objective C的帮助.有没有更好的方法来尝试传递标头?
ken*_*ytm 34
在Swift 3中,使用URLRequest结构而不是NSURLRequest(类似地,NSURL↦ URL,NSURLSession↦ URLSession等).
然后使用添加标题.addValue(_:forHTTPHeaderField:)
// swift 3:
var request = URLRequest(url: URL(string: usersDataPoint)!)
request.addValue("Token \(tokenString)", forHTTPHeaderField: "Authorization")
Run Code Online (Sandbox Code Playgroud)
在Swift 2.2中,如果需要修改它,可以使用.NSMutableURLRequest
// swift 2:
let request = NSMutableURLRequest(URL: NSURL(string: usersDataPoint)!)
request.addValue("Token \(tokenString)", forHTTPHeaderField: "Authorization")
Run Code Online (Sandbox Code Playgroud)
小智 9
您可以创建可变URL请求,然后为字段名称设置值.
let request = NSMutableURLRequest(URL: NSURL(string: yourURLString)!)
request.setValue("\(yourValue)", forHTTPHeaderField: "Header-field-name")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21694 次 |
| 最近记录: |