【问题标题】:AFNetworking - occasionally get "unacceptable content type: application/json" on http responseAFNetworking - 在 http 响应中偶尔会出现“不可接受的内容类型:应用程序/json”
【发布时间】:2015-08-14 16:23:39
【问题描述】:

我无法弄清楚为什么 AFNetworking 2.0 会抛出此消息。我的理解是application/json是默认的序列化方案,所以如果服务器返回的json是content-type:application/json,为什么AFNetworking会抛出这个错误呢?

Failure with messages Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: application/json" UserInfo=0x17e2ed60 {com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x17e84100> { URL: http://XXX/XXX/XXX } { status code: 200, headers {
        Connection = "keep-alive";
        "Content-Type" = "application/json;charset=UTF-8";
        Date = "Fri, 14 Aug 2015 16:16:52 GMT";
        Server = "Apache-Coyote/1.1";
        "Transfer-Encoding" = Identity;
        "X-Application-Context" = application;
    } }, NSErrorFailingURLKey=http://XXX/XXX/XXX, NSLocalizedDescription=Request failed: unacceptable content-type: application/json, com.alamofire.serialization.response.error.data=<7b227374 61747573 223a3230 302c2263 6f646522 3a225636 594d227d>}

在代码块中用 X 注释掉了 URL。这只有时会发生,它会导致请求失败。如果我发出另一个请求,它就会成功。

我正在使用 AFHTTPSessionManager 单例来发出所有请求。

【问题讨论】:

    标签: objective-c iphone afnetworking


    【解决方案1】:

    试试这个:

    sessionManager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", nil];
    

    【讨论】:

    • 感谢您的回复!我会试一试,看看错误是否继续出现..
    • 这绝对有帮助。自从询问我试图在同一会话上为不同类型的响应设置和重新设置序列化后,我还发现。当我创建两个会话管理器时,这些问题通常会停止,每个会话管理器都有自己的序列化方案
    猜你喜欢
    • 1970-01-01
    • 2021-09-08
    • 2023-04-05
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 2015-02-12
    • 2014-01-15
    • 1970-01-01
    相关资源
    最近更新 更多