2015-11-05 70 views
0

我正在传递用户名,API调用的密码,它会返回正确的值。但是,在认证API返回安全令牌后,我需要捕获令牌并传递用户名和密码。我也是这样做的,但它返回禁止的错误,它表示无效的令牌错误。我还尝试使用base64来传递令牌,如答案stackoverflow.The代码,我用它来通过下面如何传递授权令牌头像目标c?

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setHTTPMethod:[self HTTPMethod]]; 
[request setHTTPBody:self.requestData]; 
[request addValue:@"xyz" forHTTPHeaderField:@"username"]; 
[request addValue:@"xyz" forHTTPHeaderField:@"password"]; 
[request addValue:[[NSUserDefaults standardUserDefaults]valueForKey:@"Auth"] forHTTPHeaderField:@"Authorization"]; 
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 

我搜索头方法标头值,但没有什么helps.what我做错了here.pls人帮助我解决it.Thanks。

回答

2

使用setValue为请求而不是addValue因为addValue如果值指定字段被预先设定,所提供的值是用适当的字段分隔符

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setHTTPMethod:[self HTTPMethod]]; 
[request setHTTPBody:self.requestData]; 
[request setValue:@"xyz" forHTTPHeaderField:@"username"]; 
[request setValue:@"xyz" forHTTPHeaderField:@"password"]; 
[request setValue:[[NSUserDefaults standardUserDefaults]valueForKey:@"Auth"] forHTTPHeaderField:@"Authorization"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 

检查苹果文档 - 追加到现有值

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableURLRequest_Class/#//apple_ref/occ/instm/NSMutableURLRequest/setValue:forHTTPHeaderField

+0

,首次返回正确的值,但所有调用返回错误 – iniyaniOS

+1

后它固定的阿迪ng结尾处的“/” – iniyaniOS