俗话说好记性不如烂笔头。
用AFNetworking发送一个请求,今天突然碰到一个问题:
Error Domain=NSURLErrorDomain Code=-999 "已取消"
几乎之前没有遇到这个问题。根据这个问题查找啊,
说添加安全策略,及允许无效证书访问
就是设置AFHTTPSessionManager
下面两个属性
//客户端是否信任非法证书
sessionManager.securityPolicy.allowInvalidCertificates = YES;
//是否在证书域字段中验证域名
sessionManager.securityPolicy.validatesDomainName = NO;
我一检查啊。就是上面那样设置的啊,
最后有纠结了下,发现持有这个网络发送请求的对象被回收,我创建的调用时候是个局部变量,没有引用他,导致持有的对象被收回。从而导致了AF请求-999的取消操作。
产生这个问题有以下几个原因:
- 重复发送同一个请求,前一个请求未发出则被立刻取消
- 持有这个网络发送请求的对象不存在了被消耗了,应该检查下这个对象的生命周期
- 请求的URL错误,如果指定了使用POST,却在URL字符串后直接追加了参数字段和参数内容而不是在消息体附加参数信息,则会报此错误。
- 可能是HTTPS的证书问题 导致的,这个就要添加添加安全策略,及允许无效证书访问。
网友评论