【问题标题】:Request failed: unacceptable content-type: text/plain - AFNetwork POST请求失败:不可接受的内容类型:文本/纯文本 - AFNetwork POST
【发布时间】:2018-05-11 13:00:42
【问题描述】:

我已经安装了 CocoaPods 的 AFNetwork 3.1。 当我调用 post 方法时,我遇到如下错误:

请求失败:不可接受的内容类型:文本/纯文本

这是我调用 post 方法的代码:

AFHTTPSessionManager *manager = [[AFHTTPSessionManager 分配] initWithBaseURL:url];

manager.requestSerializer = [AFJSONRequestSerializer 序列化器]; manager.responseSerializer = [AFJSONResponseSerializer 序列化器]; manager.securityPolicy.allowInvalidCertificates = YES; manager.requestSerializer.timeoutInterval = 60; manager.securityPolicy.validatesDomainName = 否;

[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];

[manager POST:urlStr parameters:parameters progress:nil
      success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

          NSLog(@"%@ success, responseObject: %@", url, responseObject);


      } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

          NSLog(@"%@ error: %@", url, [error localizedDescription]);

      }];

我该如何解决这个问题?

【问题讨论】:

  • 您期待 json,但您正在从服务器获取纯文本。代替 application/json 试试这个:[manager.requestSerializer setValue:@"text/plain" forHTTPHeaderField:@"Accept"];
  • 是的,感谢您的帮助。我已经解决了这个问题,请参考我的回复。

标签: ios objective-c afnetworking


【解决方案1】:

是的,纯文本服务器。所以我需要设置响应序列化程序接受内容类型纯文本。

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];

【讨论】:

    猜你喜欢
    • 2016-09-27
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多