用于 POST 的 AFNetworking 2.0 自定义标头

Posted

技术标签:

【中文标题】用于 POST 的 AFNetworking 2.0 自定义标头【英文标题】:AFNetworking 2.0 custom header for POST 【发布时间】:2013-12-10 13:38:25 【问题描述】:

我正在尝试使用自定义标头执行 POST 请求,但我不断收到此异常和应用程序失败:

'NSUnknownKeyException', reason: '[<AFHTTPRequestSerializer 0xa21af80> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key X-Auth-AID.'

我已按照GitHub 代码论坛上的说明进行操作:

这两个

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
AFHTTPRequestSerializer *requestSerializer = [AFHTTPRequestSerializer serializer];
[requestSerializer setValue:@"test" forKey:@"X-Auth-AID"];
manager.requestSerializer = requestSerializer;

还有这个:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setValue:@"test" forKey:@"X-Auth-AID"];

正在抛出异常...

【问题讨论】:

你能分享一下异常吗? 那里已经写好了...NSUnknownKeyException。 【参考方案1】:

您要使用的方法是setValue:forHTTPHeaderField:,它在AFHTTPRequestSerializer 上定义。您当前调用的方法是setValue:forKey:,它是在NSKeyValueCoding 协议中定义的,而不是您想要的。

【讨论】:

你拯救了我的一天......啊哈哈:D

以上是关于用于 POST 的 AFNetworking 2.0 自定义标头的主要内容,如果未能解决你的问题,请参考以下文章

将 AFNetworking 用于 x-www-form-urlencoded POST 时遇到问题

AFNetworking 2.0 POST 请求无法快速工作

使用 AFNetworking 2.0 的 POST 请求 - AFHTTPSessionManager

使用 AFNetworking 2.0 发送 POST 数据

AFNetworking 2.0 POST 请求的问题

AFNetworking 2.x 带有 xml 正文的 POST 请求