OStack程序员社区-中国程序员成长平台

标题: ios - 使用 AFNetWorking 发送请求时遇到问题 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:42
标题: ios - 使用 AFNetWorking 发送请求时遇到问题

AFNetworking 对我来说似乎无法正常工作。特别是当我向服务器发送 apiKey 请求时,它给了我一个未经授权的错误。然而,ASIHTTPRequest 对我来说工作得很好,所以我在 AFNetWorking 中似乎做错了什么。我知道问题在于发送 apiKey,因为如果我将其注释掉,AFNetWork 就可以正常工作。不过,我仍然需要发送 API key 。任何帮助将不胜感激。

AFNetWorking

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setValue:apiKey forHTTPHeaderField"apiKey"];
NSMutableDictionary *userinfo = [[NSMutableDictionary alloc] init];
[manager POST:urlStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    [operation setUserInfo:userinfo];  
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    [operation setUserInfo:userinfo];
}];
}

ASIHTTP请求

  NSString *urlStr = [NSString stringWithFormat"%@/%@", submitReportUrl, [self urlEncode:path]];
 ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlStr]];
 [request setDelegate:self];
 NSMutableDictionary *userinfo = [[NSMutableDictionary alloc] init];
 [userinfo setObject:NSStringFromSelector(self.didFinishSelector) forKey"didFinishSelector"];
 [userinfo setObject:NSStringFromSelector(self.didFailSelector) forKey"didFailSelector"];
 [request setUserInfo:userinfo];
 [request addRequestHeader"apiKey" value:apiKey];
 [request setRequestMethod:method];
  NSArray *keys = [params allKeys];
  for ( NSString *key in keys )
        [request addPostValue:[params objectForKey:key] forKey:key];
 [self.operationQueue addOperation:request];



Best Answer-推荐答案


manager.requestSerializer = [AFJSONRequestSerializer serializer]; 

我在处理帖子时遇到了同样的问题。所以研究问题出在哪里。如果您没有添加代码的 about 行。 AFNetworking 会自动添加到 header 中

内容类型:“文本/html” 任意一个 内容类型:“文本/纯文本”

通过添加上面的代码变成 内容类型:“应用程序/json”

这样问题就解决了。由于服务器需要 JSON。

关于ios - 使用 AFNetWorking 发送请求时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25731692/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4