Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={NSUnderlyingError=0x1c0a48310 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}
这个原因,我查了半天,网上都是设置超时时间的帖子,但是,这个get请求,并没有超时就返回这个错误了,后来发现是请求方法中用的和post一样的encoding:JSONEncoding.default;下面介绍一下encoding的使用场景
1、JSONEncoding.default 是放在HttpBody内的, 比如post请求
2、URLEncoding.default 在GET中是拼接地址的, 比如get请求
3、URLEncoding(destination: .methodDependent) 是自定义的URLEncoding,methodDependent的值如果是在GET 、HEAD 、DELETE中就是拼接地址的。其他方法方式是放在httpBody内的。
4、URLEncoding(destination: .httpbody)是放在httpbody内的
于是我用URLEncoding.default替换了之前的JSONEncoding.default就好了
Alamofire.request(url, method: .get, parameters: nil, encoding: