2016-02-18 60 views
1

的Hello World,alamofire頭+參數

我來找你,因爲,我嘗試使用參數發送頭在同一個函數是這樣的:

Alamofire.Manager.sharedInstance.request(.PUT, "url", headers: headers, parameters: parameters) 

但也許你已經知道了該頭被送到。

我也試過這樣:

let manager = Alamofire.Manager.sharedInstance 
manager.session.configuration.HTTPAdditionalHeaders = [ 
      "Authorization": token] 

manager.request(.PUT, "http://192.168.99.100:3030/users/\(identity)", parameters: parameters, encoding:.JSON) 

但頭部沒有發送..

什麼是落實alamofire頭最簡單的方式?

由於通過提前;-)

的問候,在字典就像其他參數

回答

8

套頭,並通過它的頭。例如

let Auth_header = [ "Authorization" : token ] 

Alamofire.Manager.sharedInstance.request(.PUT, "url", headers: Auth_header, parameters: parameters) 

您可以查看詳細信息HTTP Basic Authentication

HTTP基本驗證

上一個請求會自動提供NSURLCredential到NSURLAuthenticationChallenge的身份驗證方法,在適當的時候:

let user = "user" 
let password = "password" 

Alamofire.request(.GET, "https://httpbin.org/basic-auth/\(user)/\(password)") 
    .authenticate(user: user, password: password) 
    .responseJSON { response in 
     debugPrint(response) 
    } 

取決於你的服務器實現塔季翁,Authorization頭也可能是適當的:

let user = "user" 
let password = "password" 

let credentialData = "\(user):\(password)".dataUsingEncoding(NSUTF8StringEncoding)! 
let base64Credentials = credentialData.base64EncodedStringWithOptions([]) 

let headers = ["Authorization": "Basic \(base64Credentials)"] 

Alamofire.request(.GET, "https://httpbin.org/basic-auth/user/password", headers: headers) 
    .responseJSON { response in 
     debugPrint(response) 
    } 
+0

感謝給我個e方式;-) –

0

我已經做了什麼,你在第一個評論說,但無論如何也有剛剛發送的頭:

let parameters : [String : NSString] = [ 
      "username": username, 
      "email": email, 
      "currentPassword": currentpassword, 
      "newPassword": newpassword]   
let Auth_header = [ "Authorization" : token ] 

Alamofire.Manager.sharedInstance.request(.PUT, "url", headers: Auth_header, parameters: parameters) 

解決的問題:probleme是我我以前不給編碼參數

Alamofire.Manager.sharedInstance.request(.PUT, "url", headers: Auth_header, parameters: parameters, encoding: .JSON) 

感謝EI隊長