我使用curl命令来获取访问令牌,如下命令所示-
curl --data 'client_id=XXX&grant_type=XXX&client_secret=XXX&scope=XXX‘"https://abc-internal.XXX.com/as/resourceOwner“-k -i
我需要从我的objective C代码中调用这个命令来获取访问令牌,下面是我的代码,它不起作用-
NSURL *strURL = [NSURL URLWithString:@"https://abc-internal.XXX.com/as/resourceOwner"];
NSString *icpStr = [strURL absoluteString];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:@"XXX" forHTTPHeaderField:@"client_id"];
[manager.requestSerializer setValue:@"XXX" forHTTPHeaderField:@"grant_type"];
[manager.requestSerializer setValue:@"XXX" forHTTPHeaderField:@"client_secret"];
[manager.requestSerializer setValue:@"XXX" forHTTPHeaderField:@"scope"];
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
[securityPolicy setValidatesDomainName:NO];
[securityPolicy setAllowInvalidCertificates:YES];
manager.securityPolicy = securityPolicy;
[manager GET:icpStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
if ([responseObject isKindOfClass:[NSData class]])
{
NSError *parseError = nil;
NSDictionary *resultsDictionary = (NSDictionary *) [NSJSONSerialization JSONObjectWithData: responseObject options: 0 error: &parseError];
if (parseError)
{
NSLog(@"Parse Error %@",parseError);
}else{
NSLog(@"Results %@",resultsDictionary);
}
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error %@",error.localizedDescription);
}];
我收到一个错误,说这是错误的请求-
Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad request (400)"
任何建议都将不胜感激。我是objective c编程的新手,所以如果有人能在这里帮助我,我将不胜感激。
发布于 2018-09-12 07:51:54
NSString *URLString = @"https://abc-internal.XXX.com/as/resourceOwner";
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
manager.responseSerializer =[AFHTTPResponseSerializer serializer];
[manager GET:URLString parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if ([responseObject isKindOfClass:[NSData class]]) {
NSError *parseError = nil;
NSDictionary *resultsDictionary = (NSDictionary *) [NSJSONSerialization JSONObjectWithData: responseObject options: 0 error: &parseError];
if (parseError)
{
NSLog(@"Parse Error %@",parseError);
}else{
NSLog(@"Results %@",resultsDictionary);
}
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
https://stackoverflow.com/questions/52253245
复制相似问题