如何设置和实施HTTP方法进行授权?

时间:2013-12-04 22:10:34

标签: ios http authentication asp.net-web-api

我正试图进入我的同学用我创建的iphone APP创建的webAPI。现在,它连接,但我的应用程序崩溃,因为它告诉我,我需要授权。因此,例如,如果用户名是abc和密码abc123,我将如何专门实现HTTP方法以获得传递授权?

NSString *geturl = @"http://192.168.1.96:50364/api/transaction" ;
setValue:(NSString*)" " forHTTPHeaderField:(NSString*)username;
getjson *mds=[[getjson alloc] init];
SEL selector = @selector(addData:);
[mds setDirectionsQuery:geturl
           withSelector:selector
           withDelegate:self];

编辑:如果上述问题太混乱,设置值的基本语法/代码和用户名和密码的密钥是什么?我确定

setValue:(NSString*)"abc " forHTTPHeaderField:(NSString*)username; 
setValue:(NSString*)"abc123 " forHTTPHeaderField:(NSString*)password; 

不正确。编译器不让我运行程序。

1 个答案:

答案 0 :(得分:0)

您的字符串丢失@ 请尝试setValue:(NSString*)@"abc " forHTTPHeaderField:(NSString*)username;,但如果您粘贴的代码已完成,则不会说出您的设置值。

我个人使用NSMutableRequest并创建这样的请求和授权。请注意,auth获得Base64编码:

NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:_urlString]];
NSString *basicAuthCredentials = [NSString stringWithFormat:@"%@:%@", username, password;
NSString *authValue = [NSString stringWithFormat:@"Basic %@", AFBase64EncodedStringFromString(basicAuthCredentials)];
[urlRequest setValue:authValue forHTTPHeaderField:@"Authorization"];